summaryrefslogtreecommitdiff
path: root/offapi
diff options
context:
space:
mode:
Diffstat (limited to 'offapi')
-rw-r--r--offapi/com/sun/star/awt/ItemListEvent.idl76
-rw-r--r--offapi/com/sun/star/awt/UnoControlListBoxModel.idl7
-rw-r--r--offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl6
-rw-r--r--offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl3
-rw-r--r--offapi/com/sun/star/awt/UnoControlThrobber.idl6
-rw-r--r--offapi/com/sun/star/awt/UnoControlThrobberModel.idl3
-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/XSimpleAnimation.idl2
-rw-r--r--offapi/com/sun/star/awt/XThrobber.idl2
-rw-r--r--offapi/com/sun/star/awt/makefile.mk5
-rw-r--r--offapi/com/sun/star/awt/tree/XTreeControl.idl11
-rw-r--r--offapi/com/sun/star/chart/ChartDocument.idl12
-rw-r--r--offapi/com/sun/star/chart/Diagram.idl19
-rw-r--r--offapi/com/sun/star/chart/XDiagramPositioning.idl107
-rw-r--r--offapi/com/sun/star/chart/makefile.mk1
-rw-r--r--offapi/com/sun/star/chart2/Diagram.idl4
-rw-r--r--offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl20
-rw-r--r--offapi/com/sun/star/drawing/Shape.idl8
-rw-r--r--offapi/com/sun/star/i18n/TransliterationModulesExtra.idl76
-rw-r--r--offapi/com/sun/star/i18n/makefile.mk1
-rw-r--r--offapi/com/sun/star/sheet/XExternalDocLink.idl9
-rw-r--r--offapi/com/sun/star/text/TextFrame.idl9
-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/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.mk8
-rw-r--r--offapi/com/sun/star/util/InvalidStateException.idl50
-rw-r--r--offapi/com/sun/star/util/makefile.mk1
32 files changed, 1385 insertions, 20 deletions
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/UnoControlListBoxModel.idl b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl
index 5017b05635ad..1cd36de93231 100644
--- a/offapi/com/sun/star/awt/UnoControlListBoxModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl
@@ -39,6 +39,8 @@
#include <com/sun/star/util/Color.idl>
#endif
+#include <com/sun/star/awt/XItemList.idl>
+
//=============================================================================
@@ -208,6 +210,11 @@ published service UnoControlListBoxModel
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.
+ */
+ [optional] interface XItemList;
};
//=============================================================================
diff --git a/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl b/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl
index 63364622c4ce..cf45f0aea0f0 100644
--- a/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl
+++ b/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl
@@ -45,9 +45,11 @@
/** specifies a simple animation control.
<p>The model of an <type>UnoControlSimpleAnimation</type> control must support
- the <type>UnoControlSimpleAnimationModel</type> service.
+ the <type>UnoControlSimpleAnimationModel</type> service.</p>
+
+ @since OOo 2.2
*/
-service UnoControlSimpleAnimation
+published service UnoControlSimpleAnimation
{
service com::sun::star::awt::UnoControl;
diff --git a/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl b/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl
index 1460adaa49d1..ca301483263f 100644
--- a/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl
@@ -45,9 +45,10 @@
<p> </p>
@see UnoControlScrollBarModel
+ @since OOo 2.2
*/
-service UnoControlSimpleAnimationModel
+published service UnoControlSimpleAnimationModel
{
service com::sun::star::awt::UnoControlModel;
diff --git a/offapi/com/sun/star/awt/UnoControlThrobber.idl b/offapi/com/sun/star/awt/UnoControlThrobber.idl
index a798d1d842e2..f5194075019a 100644
--- a/offapi/com/sun/star/awt/UnoControlThrobber.idl
+++ b/offapi/com/sun/star/awt/UnoControlThrobber.idl
@@ -45,9 +45,11 @@
/** specifies a simple animation control.
<p>The model of an <type>UnoControlThrobber</type> control must support
- the <type>UnoControlThrobberModel</type> service.
+ the <type>UnoControlThrobberModel</type> service.</p>
+
+ @since OOo 2.2
*/
-service UnoControlThrobber
+published service UnoControlThrobber
{
service com::sun::star::awt::UnoControl;
diff --git a/offapi/com/sun/star/awt/UnoControlThrobberModel.idl b/offapi/com/sun/star/awt/UnoControlThrobberModel.idl
index 9b2f31853f2d..f2eacad5b76b 100644
--- a/offapi/com/sun/star/awt/UnoControlThrobberModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlThrobberModel.idl
@@ -45,9 +45,10 @@
<p> </p>
@see UnoControlScrollBarModel
+ @since OOo 2.2
*/
-service UnoControlThrobberModel
+published service UnoControlThrobberModel
{
service com::sun::star::awt::UnoControlModel;
};
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/XSimpleAnimation.idl b/offapi/com/sun/star/awt/XSimpleAnimation.idl
index 174e69c8184c..1cfd758590b9 100644
--- a/offapi/com/sun/star/awt/XSimpleAnimation.idl
+++ b/offapi/com/sun/star/awt/XSimpleAnimation.idl
@@ -43,7 +43,7 @@
/** Controls the animation control.
*/
-interface XSimpleAnimation: com::sun::star::uno::XInterface
+published interface XSimpleAnimation: com::sun::star::uno::XInterface
{
//-------------------------------------------------------------------------
diff --git a/offapi/com/sun/star/awt/XThrobber.idl b/offapi/com/sun/star/awt/XThrobber.idl
index 934f85e8aa22..0a4ac133524a 100644
--- a/offapi/com/sun/star/awt/XThrobber.idl
+++ b/offapi/com/sun/star/awt/XThrobber.idl
@@ -43,7 +43,7 @@
/** Controls the animation control.
*/
-interface XThrobber: com::sun::star::uno::XInterface
+published interface XThrobber: com::sun::star::uno::XInterface
{
//-------------------------------------------------------------------------
diff --git a/offapi/com/sun/star/awt/makefile.mk b/offapi/com/sun/star/awt/makefile.mk
index 1e2350a3a1d3..55734fd75ca6 100644
--- a/offapi/com/sun/star/awt/makefile.mk
+++ b/offapi/com/sun/star/awt/makefile.mk
@@ -328,7 +328,10 @@ IDLFILES=\
MenuLogo.idl \
XMenuExtended2.idl \
XMenuBarExtended.idl \
- XPopupMenuExtended.idl
+ XPopupMenuExtended.idl \
+ XItemList.idl \
+ XItemListListener.idl \
+ ItemListEvent.idl
# ------------------------------------------------------------------
diff --git a/offapi/com/sun/star/awt/tree/XTreeControl.idl b/offapi/com/sun/star/awt/tree/XTreeControl.idl
index a65b9eece27f..a5341257ba45 100644
--- a/offapi/com/sun/star/awt/tree/XTreeControl.idl
+++ b/offapi/com/sun/star/awt/tree/XTreeControl.idl
@@ -219,6 +219,17 @@ interface XTreeControl
*/
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
// ------------
diff --git a/offapi/com/sun/star/chart/ChartDocument.idl b/offapi/com/sun/star/chart/ChartDocument.idl
index dd52f2e02ba3..2c5227329778 100644
--- a/offapi/com/sun/star/chart/ChartDocument.idl
+++ b/offapi/com/sun/star/chart/ChartDocument.idl
@@ -39,9 +39,8 @@
#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
#endif
-// #ifndef com_sun_star_chart2_data_XDataReceiver_idl
-// #include <com/sun/star/chart2/data/XDataReceiver.idl>
-// #endif
+#include <com/sun/star/drawing/XDrawPageSupplier.idl>
+
//=============================================================================
@@ -73,12 +72,7 @@ published service ChartDocument
interface ::com::sun::star::chart::XChartDocument;
interface ::com::sun::star::beans::XPropertySet;
- /** If this interface is implemented, it is possible to connect
- data to a chart via the improved data connection method using
- an <type scope="com::sun::star::chart2::data">XDataProvider</type>.
- */
- // BM: #i32138# XDataReceiver is not yet published
-// [optional] interface ::com::sun::star::chart2::data::XDataReceiver;
+ [optional] interface ::com::sun::star::drawing::XDrawPageSupplier;
//-------------------------------------------------------------------------
diff --git a/offapi/com/sun/star/chart/Diagram.idl b/offapi/com/sun/star/chart/Diagram.idl
index 0d8ced17f3ef..b57fc88f3804 100644
--- a/offapi/com/sun/star/chart/Diagram.idl
+++ b/offapi/com/sun/star/chart/Diagram.idl
@@ -31,6 +31,14 @@
#include <com/sun/star/chart/XDiagram.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
@@ -64,6 +72,17 @@ published service Diagram
interface com::sun::star::chart::XDiagram;
+ /** 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.
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/makefile.mk b/offapi/com/sun/star/chart/makefile.mk
index 2c0b93256b3b..fdbf07173c5e 100644
--- a/offapi/com/sun/star/chart/makefile.mk
+++ b/offapi/com/sun/star/chart/makefile.mk
@@ -105,6 +105,7 @@ IDLFILES=\
XChartDocument.idl\
XComplexDescriptionAccess.idl\
XDiagram.idl\
+ XDiagramPositioning.idl\
XStatisticDisplay.idl\
XTwoAxisXSupplier.idl\
XTwoAxisYSupplier.idl\
diff --git a/offapi/com/sun/star/chart2/Diagram.idl b/offapi/com/sun/star/chart2/Diagram.idl
index a048b91a2347..2ca0e1ade86d 100644
--- a/offapi/com/sun/star/chart2/Diagram.idl
+++ b/offapi/com/sun/star/chart2/Diagram.idl
@@ -77,6 +77,10 @@ service Diagram
*/
[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;
diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl
index 7b3f9a223f39..d5e8420fc32f 100644
--- a/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl
@@ -68,6 +68,26 @@ service EnhancedCustomShapeHandle
*/
[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;
diff --git a/offapi/com/sun/star/drawing/Shape.idl b/offapi/com/sun/star/drawing/Shape.idl
index f57369e87f49..3bf1c6fa15cc 100644
--- a/offapi/com/sun/star/drawing/Shape.idl
+++ b/offapi/com/sun/star/drawing/Shape.idl
@@ -136,6 +136,14 @@ published service Shape
//-------------------------------------------------------------------------
/** 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;
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/makefile.mk b/offapi/com/sun/star/i18n/makefile.mk
index 71907e42c6d9..7d861fa1436d 100644
--- a/offapi/com/sun/star/i18n/makefile.mk
+++ b/offapi/com/sun/star/i18n/makefile.mk
@@ -94,6 +94,7 @@ IDLFILES=\
Transliteration.idl \
TransliterationModules.idl \
TransliterationModulesNew.idl \
+ TransliterationModulesExtra.idl \
TransliterationType.idl \
UnicodeScript.idl \
UnicodeType.idl \
diff --git a/offapi/com/sun/star/sheet/XExternalDocLink.idl b/offapi/com/sun/star/sheet/XExternalDocLink.idl
index 19d1f0ff08d7..1a9662dbeed7 100644
--- a/offapi/com/sun/star/sheet/XExternalDocLink.idl
+++ b/offapi/com/sun/star/sheet/XExternalDocLink.idl
@@ -60,9 +60,16 @@ interface XExternalDocLink
@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 );
+ com::sun::star::sheet::XExternalSheetCache addSheetCache( [in] string aSheetName, [in] boolean DynamicCache );
//-------------------------------------------------------------------------
diff --git a/offapi/com/sun/star/text/TextFrame.idl b/offapi/com/sun/star/text/TextFrame.idl
index e1ab64c2e674..e43b3d79197c 100644
--- a/offapi/com/sun/star/text/TextFrame.idl
+++ b/offapi/com/sun/star/text/TextFrame.idl
@@ -112,6 +112,13 @@ published service TextFrame
*/
[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.
@@ -119,12 +126,14 @@ published service TextFrame
@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
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/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
index fa11ba35e173..07d762fb0ec6 100644
--- a/offapi/com/sun/star/ui/dialogs/makefile.mk
+++ b/offapi/com/sun/star/ui/dialogs/makefile.mk
@@ -64,7 +64,13 @@ IDLFILES=\
XControlInformation.idl \
XAsynchronousExecutableDialog.idl \
XDialogClosedListener.idl \
- DialogClosedEvent.idl
+ DialogClosedEvent.idl \
+ XWizard.idl \
+ XWizardController.idl \
+ Wizard.idl \
+ XWizardPage.idl \
+ WizardButton.idl \
+ WizardTravelType.idl
# ------------------------------------------------------------------
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/makefile.mk b/offapi/com/sun/star/util/makefile.mk
index 75b5dde890c0..aa0374296ddb 100644
--- a/offapi/com/sun/star/util/makefile.mk
+++ b/offapi/com/sun/star/util/makefile.mk
@@ -53,6 +53,7 @@ IDLFILES=\
ElementChange.idl \
Endianness.idl \
FileIOException.idl\
+ InvalidStateException.idl\
Language.idl\
NumberFormat.idl\
NumberFormatProperties.idl\