Date: Mon, 3 May 2010 14:43:49 +0200
Subject: cws tl80: #i98187# api documentation for EditInReadonly
---
offapi/com/sun/star/text/TextFrame.idl | 9 +++++++++
1 file changed, 9 insertions(+)
mode change 100644 => 100755 offapi/com/sun/star/text/TextFrame.idl
(limited to 'offapi/com/sun/star')
diff --git a/offapi/com/sun/star/text/TextFrame.idl b/offapi/com/sun/star/text/TextFrame.idl
old mode 100644
new mode 100755
index e1ab64c2e674..e43b3d79197c
--- a/offapi/com/sun/star/text/TextFrame.idl
+++ b/offapi/com/sun/star/text/TextFrame.idl
@@ -111,6 +111,13 @@ published service TextFrame
@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.
@@ -119,12 +126,14 @@ published service TextFrame
@since OOo 2.4
*/
[optional, property] short WidthType;
+
//-----------------------------------------------------------------------------
/** contains the writing direction, as represented by the
WritingMode2 constants
*/
[optional, property] short WritingMode;
+ //-----------------------------------------------------------------------------
/** controls, if the frame follows the text flow or can leave its layout environment
If set, the frame follows the text flow and doesn't leaves the layout
--
cgit v1.2.3
From 9a40f47ebf9f07f5cae092ddd84280c2e21e515f Mon Sep 17 00:00:00 2001
From: "Frank Schoenheit [fs]"
Date: Wed, 5 May 2010 13:49:53 +0200
Subject: os141: added XTreeControl::getNodeRect
---
offapi/com/sun/star/awt/tree/XTreeControl.idl | 11 +++++++++++
1 file changed, 11 insertions(+)
(limited to 'offapi/com/sun/star')
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 , 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
// ------------
--
cgit v1.2.3
From 3edcb9564ce9b11d75f76eff6c2eef7f830803ba Mon Sep 17 00:00:00 2001
From: "Frank Schoenheit [fs]"
Date: Thu, 20 May 2010 12:45:50 +0200
Subject: unoawt: UNO API for generic wizards, wrapping around the existing C++
RoadmapWizard
---
offapi/com/sun/star/ui/dialogs/Wizard.idl | 75 +++++++++++++++++++
offapi/com/sun/star/ui/dialogs/WizardButton.idl | 53 ++++++++++++++
.../com/sun/star/ui/dialogs/WizardTravelType.idl | 51 +++++++++++++
offapi/com/sun/star/ui/dialogs/XWizard.idl | 72 +++++++++++++++++++
.../com/sun/star/ui/dialogs/XWizardController.idl | 75 +++++++++++++++++++
offapi/com/sun/star/ui/dialogs/XWizardPage.idl | 83 ++++++++++++++++++++++
offapi/com/sun/star/ui/dialogs/makefile.mk | 8 ++-
7 files changed, 416 insertions(+), 1 deletion(-)
create mode 100644 offapi/com/sun/star/ui/dialogs/Wizard.idl
create mode 100644 offapi/com/sun/star/ui/dialogs/WizardButton.idl
create mode 100644 offapi/com/sun/star/ui/dialogs/WizardTravelType.idl
create mode 100644 offapi/com/sun/star/ui/dialogs/XWizard.idl
create mode 100644 offapi/com/sun/star/ui/dialogs/XWizardController.idl
create mode 100644 offapi/com/sun/star/ui/dialogs/XWizardPage.idl
(limited to 'offapi/com/sun/star')
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..36c0f17dedb5
--- /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
+ *
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_Wizard_idl__
+#define __com_sun_star_ui_dialogs_Wizard_idl__
+
+#include
+#include
+
+//==================================================================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+interface XWizardController;
+
+//==================================================================================================================
+
+/**
+ */
+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..3169adeab95c
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/WizardButton.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
+ *
+ * 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 {
+
+//==================================================================================================================
+
+/**
+ */
+constants WizardButton
+{
+ const short NEXT = 1;
+ const short PREVIOUS = 2;
+ const short FINISH = 3;
+ const short CANCEL = 4;
+ 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..9efd822ffe33
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/WizardTravelType.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
+ *
+ * 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 {
+
+//==================================================================================================================
+
+/**
+ */
+constants WizardTravelType
+{
+ const short FORWARD = 1;
+ const short BACKWARD = 2;
+ 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..76b4af66ffa1
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizard.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
+ *
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XWizard_idl__
+#define __com_sun_star_ui_dialogs_XWizard_idl__
+
+#include
+
+//==================================================================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//==================================================================================================================
+
+/**
+ */
+interface XWizard
+{
+ interface XExecutableDialog;
+
+ void enableButton( [in] short WizardButton, [in] boolean Enable );
+ void setDefaultButton( [in] short WizardButton );
+
+ boolean travelNext();
+ boolean travelPrevious();
+
+ /** updates the wizard elements which are related to traveling.
+
+ For instance, the Next
button is disabled if the current page's XWizardPage::canAdvance
+ method returns .
+
+ 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.
+ */
+ void updateTravelUI();
+
+ boolean advanceTo( [in] short PageId );
+ boolean goBackTo( [in] short PageId );
+
+ short getCurrentPage();
+};
+
+//==================================================================================================================
+
+}; }; }; }; };
+
+//==================================================================================================================
+
+#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..e38bcb1a5f1f
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizardController.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
+ *
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XWizardController_idl__
+#define __com_sun_star_ui_dialogs_XWizardController_idl__
+
+#include
+
+//==================================================================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+interface XWizard;
+
+//==================================================================================================================
+
+/**
+ */
+interface XWizardController
+{
+ XWizardPage createPage( [in] ::com::sun::star::awt::XWindow ParentWindow, [in] short PageId );
+
+ string getPageTitle( [in] short PageId );
+
+ boolean canAdvance();
+
+ void onActivatePage( [in] short PageId );
+
+ /** called when the current page is about to be left
+
+ In opposite to XWizardPage::commitPage, confirmDeactivatePage
is intended for checking
+ conditions which involve more than the state of the currently active page.
+
+ @param PageId
+ the ID of the page which is about to be left.
+ @param Reason
+ is one of the WizardTravelType contants denoting the reason why the page is about to be left.
+ */
+ boolean confirmDeactivatePage( [in] short PageId, [in] short Reason );
+
+ void onDeactivatePage( [in] short PageId );
+
+ 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..8e0ea1b6be67
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.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
+ *
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XWizardPage_idl__
+#define __com_sun_star_ui_dialogs_XWizardPage_idl__
+
+#include
+
+//==================================================================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//==================================================================================================================
+
+/**
+ */
+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;
+
+ /** called when the page is activated
+ */
+ void activatePage();
+
+ /** is called when the page is about to be left
+
+ An implementation can veto the leave by returning here. Usually, the decision about this
+ depends on the current state of the page.
+
+ Note that XWizardPage::commitPage is called before XWizardController::confirmDeactivatePage
+ gets called.
+
+ @param Reason
+ is one of the WizardTravelType 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
+
+ You should base this decision on the state of the page only, not on a global state of the wizard. Usually,
+ you return 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.
+
+ If checked for validity is expensive, or if you prefer giving your user more detailed feedback on validity
+ than a disabled Next
button in the wizard, then move your checks to the commitPage
+ method.
+ */
+ 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
# ------------------------------------------------------------------
--
cgit v1.2.3
From d6dd1c27f9ea664978ceb48825b8e8417cc01e61 Mon Sep 17 00:00:00 2001
From: "Frank Schoenheit [fs]"
Date: Fri, 21 May 2010 13:17:30 +0200
Subject: unoawt: evolution of the UNO-API for wizards
---
offapi/com/sun/star/ui/dialogs/XWizard.idl | 5 ++++-
offapi/com/sun/star/ui/dialogs/XWizardPage.idl | 6 ++++++
2 files changed, 10 insertions(+), 1 deletion(-)
(limited to 'offapi/com/sun/star')
diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl
index 76b4af66ffa1..0d6a92cbd164 100644
--- a/offapi/com/sun/star/ui/dialogs/XWizard.idl
+++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl
@@ -33,6 +33,8 @@
module com { module sun { module star { module ui { module dialogs {
+interface XWizardPage;
+
//==================================================================================================================
/**
@@ -60,7 +62,8 @@ interface XWizard
boolean advanceTo( [in] short PageId );
boolean goBackTo( [in] short PageId );
- short getCurrentPage();
+ XWizardPage
+ getCurrentPage();
};
//==================================================================================================================
diff --git a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
index 8e0ea1b6be67..7c49db499214 100644
--- a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
+++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
@@ -43,6 +43,12 @@ interface XWizardPage : ::com::sun::star::lang::XComponent
*/
[attribute, readonly] ::com::sun::star::awt::XWindow Window;
+ /** denotes the ID of the page.
+
+ Within a wizard, no two pages are allowed to have the same ID.
+ */
+ [attribute, readonly] short PageId;
+
/** called when the page is activated
*/
void activatePage();
--
cgit v1.2.3
From 45a8100e42492335d5423efa2ad512c2ba1dbfca Mon Sep 17 00:00:00 2001
From: "Frank Schoenheit [fs]"
Date: Fri, 21 May 2010 15:03:31 +0200
Subject: unoawt: added more functionality to XWizard
---
offapi/com/sun/star/ui/dialogs/XWizard.idl | 120 ++++++++++++++++++++-
offapi/com/sun/star/util/InvalidStateException.idl | 50 +++++++++
offapi/com/sun/star/util/makefile.mk | 1 +
3 files changed, 166 insertions(+), 5 deletions(-)
create mode 100644 offapi/com/sun/star/util/InvalidStateException.idl
(limited to 'offapi/com/sun/star')
diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl
index 0d6a92cbd164..a3aa93b9cc62 100644
--- a/offapi/com/sun/star/ui/dialogs/XWizard.idl
+++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl
@@ -28,27 +28,87 @@
#define __com_sun_star_ui_dialogs_XWizard_idl__
#include
+#include
+#include
//==================================================================================================================
-
module com { module sun { module star { module ui { module dialogs {
-interface XWizardPage;
-
//==================================================================================================================
+interface XWizardPage;
+
/**
*/
interface XWizard
{
interface XExecutableDialog;
+ /** is the help URL of the wizard's main window.
+ */
+ [attribute] string HelpURL;
+
+ /** provides access to the current page of the wizard
+ */
+ XWizardPage
+ getCurrentPage();
+
+ /** enables or disables a certain button in the wizard
+
+ Normally, you will want to use this method for the Finish button only: The Next
+ and Back buttons are usually maintained automatically, the Help and Cancel
+ buttons are unlikely to ever being disabled.
+
+ @param WizardButton
+ denotes the button to enable or disable, as one of the WizardButton constants
+ @param Enable
+ specifies whether the button should be enabled () or disabled ()
+ */
void enableButton( [in] short WizardButton, [in] boolean Enable );
+
+ /** sets a button in the wizard as default button
+
+ In general, the default button in a wizard is the one which is activated when the user presses
+ the return key while the focus is in a control which does not handle this key itself (such as
+ ordinary input controls).
+
+ You can use this method, for instance, to make the Next button the default button on all pages
+ except the last one, where Finish should be defaulted.
+ */
void setDefaultButton( [in] short WizardButton );
+ /** travels to the next page, if possible
+
+ Calling this method is equivalent to the user pressing the Next 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.
+ */
boolean travelNext();
+
+ /** travels to the next page, if possible
+
+ Calling this method is equivalent to the user pressing the Back button in the wizard.
+ */
boolean travelPrevious();
+ /** enables or disables the given page
+
+ 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.
+
+ 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.
+
+ @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.
For instance, the Next
button is disabled if the current page's XWizardPage::canAdvance
@@ -59,11 +119,61 @@ interface XWizard
*/
void updateTravelUI();
+ /** advances to the given page, if possible.
+
+
Calling this method is equivalent to the user repeatedly pressing the Next 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.
+ */
boolean advanceTo( [in] short PageId );
+
+ /** goes back to the given page, if possible.
+
+ Calling this method is equivalent to the user repeatedly pressing the Back button, until the
+ given page is reached.
+ */
boolean goBackTo( [in] short PageId );
- XWizardPage
- getCurrentPage();
+ /** activates a path
+
+ If the wizard has been created with multiple paths of control flow, then this method allows switching to
+ another path.
+
+ You can only activate a path which shares the first k
pages with the path
+ which is previously active (if any), where k
is the index of the current page within the current
+ path.
+
+ Example: Say you have paths, (0,1,2,5)
and (0,1,4,5)
(with
+ the numbers denoting page IDs). This means that after page 1
, you either continue with page
+ 2
or state 4
,and after this, you finish in state 5
.
+ Now if the first path is active, and your current state is 1
, then you can easily switch to the
+ second path, since both paths start with (0,1)
.
+ However, if your current state is 2
, then you can not switch to the second path anymore.
+
+ @param PathIndex
+ the index of the path, as used in the Wizard::createMultiplePathsWizard constructor.
+ @param Final
+ If , the path will be completely activated, even if it is a conflicting path (i.e. there is another
+ path which shares the first k
states with the to-be-activated path.)
+
+ If , 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 not conflict.
+
+ 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.
+
+ With the paths in the example above, if you activate the second path, then only steps 0
and
+ 1
are activated, since they are common to both paths. Steps 2
, 4
,
+ and 5
are not reachable, yet.
+
+ @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 );
};
//==================================================================================================================
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
+ *
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_util_InvalidStateException_idl__
+#define __com_sun_star_util_InvalidStateException_idl__
+
+#include
+
+//==================================================================================================================
+
+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\
--
cgit v1.2.3
From 780bcf3625211e970d1b2c3ac610a088fdb02d5e Mon Sep 17 00:00:00 2001
From: "Frank Schoenheit [fs]"
Date: Tue, 25 May 2010 13:00:57 +0200
Subject: unoawt: added missing documentation of the new Wizard API
---
offapi/com/sun/star/ui/dialogs/Wizard.idl | 2 +-
offapi/com/sun/star/ui/dialogs/WizardButton.idl | 7 +++-
.../com/sun/star/ui/dialogs/WizardTravelType.idl | 5 ++-
offapi/com/sun/star/ui/dialogs/XWizard.idl | 42 ++++++++++++++++++++--
.../com/sun/star/ui/dialogs/XWizardController.idl | 28 +++++++++++++--
offapi/com/sun/star/ui/dialogs/XWizardPage.idl | 2 +-
6 files changed, 77 insertions(+), 9 deletions(-)
(limited to 'offapi/com/sun/star')
diff --git a/offapi/com/sun/star/ui/dialogs/Wizard.idl b/offapi/com/sun/star/ui/dialogs/Wizard.idl
index 36c0f17dedb5..4e6b13f44ca2 100644
--- a/offapi/com/sun/star/ui/dialogs/Wizard.idl
+++ b/offapi/com/sun/star/ui/dialogs/Wizard.idl
@@ -38,7 +38,7 @@ interface XWizardController;
//==================================================================================================================
-/**
+/** provides a framework for implementing a wizard dialog.
*/
service Wizard : XWizard
{
diff --git a/offapi/com/sun/star/ui/dialogs/WizardButton.idl b/offapi/com/sun/star/ui/dialogs/WizardButton.idl
index 3169adeab95c..aeb22910996c 100644
--- a/offapi/com/sun/star/ui/dialogs/WizardButton.idl
+++ b/offapi/com/sun/star/ui/dialogs/WizardButton.idl
@@ -33,14 +33,19 @@ module com { module sun { module star { module ui { module dialogs {
//==================================================================================================================
-/**
+/** denotes the buttons found in a Wizard
*/
constants WizardButton
{
+ /// 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;
};
diff --git a/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl
index 9efd822ffe33..271a006346b7 100644
--- a/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl
+++ b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl
@@ -33,12 +33,15 @@ module com { module sun { module star { module ui { module dialogs {
//==================================================================================================================
-/**
+/** denotes ways to leave a Wizard'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;
};
diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl
index a3aa93b9cc62..d894c85db1fd 100644
--- a/offapi/com/sun/star/ui/dialogs/XWizard.idl
+++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl
@@ -38,7 +38,45 @@ module com { module sun { module star { module ui { module dialogs {
interface XWizardPage;
-/**
+/** is the main interface implemented by the Wizard services.
+
+ 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 step.
+
+ Sequential navigation in a wizard is done via a Next and a Back 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).
+
+ A sequence of steps in a wizard dialog is called a path. A given wizard can support one or multiple paths,
+ which are declared at the time of construction of the wizard.
+
+ 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.
+
+ 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 k of the current path, the potential or conflicting
+ paths are those whose first k 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 ...
indicating that the order of steps is undecided.
+
+ An XWizardController can declare a certain path as active path by calling the activatePath
+ method. Usually, this is done depending on user input. For instance, your wizard could have radio buttons on the
+ first page which effectively decide about which path to take in the wizard.
+
+ Single steps in the wizard can be freely enabled and disabled, using the enablePage method.
+ Disabled pages are skipped during sequential traveling, and not selectable in the roadmap.
+
+ The state of the Next button in the dialog will be automatically maintained in most situations,
+ depending on the results of calls to the XWizardController::canAdvance and XWizardPage::canAdvance
+ methods. More sophisticated wizard logic, however, will need manual calls to the enableButton method.
+ Also, the Finish 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.
+
+ @see XWizardController
+ @see XWizardPage
*/
interface XWizard
{
@@ -111,7 +149,7 @@ interface XWizard
/** updates the wizard elements which are related to traveling.
- For instance, the Next
button is disabled if the current page's XWizardPage::canAdvance
+
For instance, the Next button is disabled if the current page's XWizardPage::canAdvance
method returns .
You usually call this method from within a wizard page whose state changed in a way that it affects the
diff --git a/offapi/com/sun/star/ui/dialogs/XWizardController.idl b/offapi/com/sun/star/ui/dialogs/XWizardController.idl
index e38bcb1a5f1f..abcec1ce6ef6 100644
--- a/offapi/com/sun/star/ui/dialogs/XWizardController.idl
+++ b/offapi/com/sun/star/ui/dialogs/XWizardController.idl
@@ -33,20 +33,36 @@
module com { module sun { module star { module ui { module dialogs {
-interface XWizard;
-
//==================================================================================================================
-/**
+/** is the interface of a client-provided controller of a custom Wizard.
*/
interface XWizardController
{
+ /** creates a page
+
+
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.
+
+ @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
+
+ The page titles are displayed in the wizard's roadmap.
+ */
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 the current page is about to be left
@@ -61,8 +77,14 @@ interface XWizardController
*/
boolean confirmDeactivatePage( [in] short PageId, [in] short Reason );
+ /** called when a page in the wizard is being deactivated
+ */
void onDeactivatePage( [in] short PageId );
+ /** called when the wizard is about to be finished.
+
+ This method allows the controller to do any final checks, and ultimatively veto finishing the wizard.
+ */
boolean confirmFinish();
};
diff --git a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
index 7c49db499214..50f3212e1cf2 100644
--- a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
+++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
@@ -35,7 +35,7 @@ module com { module sun { module star { module ui { module dialogs {
//==================================================================================================================
-/**
+/** is a single page of a Wizard
*/
interface XWizardPage : ::com::sun::star::lang::XComponent
{
--
cgit v1.2.3
From 9d8f2ac47d5103568d13366ec5ef82477ce659a7 Mon Sep 17 00:00:00 2001
From: "Frank Schoenheit [fs]"
Date: Fri, 28 May 2010 15:36:22 +0200
Subject: unoawt: XWizard now has an attribute giving access to the XWindow
interface of the dialog's main window
---
offapi/com/sun/star/ui/dialogs/XWizard.idl | 4 ++++
1 file changed, 4 insertions(+)
(limited to 'offapi/com/sun/star')
diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl
index d894c85db1fd..5de5eaa300a4 100644
--- a/offapi/com/sun/star/ui/dialogs/XWizard.idl
+++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl
@@ -30,6 +30,7 @@
#include
#include
#include
+#include
//==================================================================================================================
module com { module sun { module star { module ui { module dialogs {
@@ -86,6 +87,9 @@ interface XWizard
*/
[attribute] string HelpURL;
+ [attribute, readonly] ::com::sun::star::awt::XWindow
+ DialogWindow;
+
/** provides access to the current page of the wizard
*/
XWizardPage
--
cgit v1.2.3
From f6c1c0f3626c8212bd1d95a91d8d1f113ce910da Mon Sep 17 00:00:00 2001
From: "Frank Schoenheit [fs]"
Date: Tue, 1 Jun 2010 12:50:46 +0200
Subject: unoawt: XWizardController::confirmDeactivatePage is not necessary,
/me thinks
---
offapi/com/sun/star/ui/dialogs/XWizardController.idl | 12 ------------
offapi/com/sun/star/ui/dialogs/XWizardPage.idl | 3 ---
2 files changed, 15 deletions(-)
(limited to 'offapi/com/sun/star')
diff --git a/offapi/com/sun/star/ui/dialogs/XWizardController.idl b/offapi/com/sun/star/ui/dialogs/XWizardController.idl
index abcec1ce6ef6..6a51a67360fe 100644
--- a/offapi/com/sun/star/ui/dialogs/XWizardController.idl
+++ b/offapi/com/sun/star/ui/dialogs/XWizardController.idl
@@ -65,18 +65,6 @@ interface XWizardController
*/
void onActivatePage( [in] short PageId );
- /** called when the current page is about to be left
-
- In opposite to XWizardPage::commitPage, confirmDeactivatePage
is intended for checking
- conditions which involve more than the state of the currently active page.
-
- @param PageId
- the ID of the page which is about to be left.
- @param Reason
- is one of the WizardTravelType contants denoting the reason why the page is about to be left.
- */
- boolean confirmDeactivatePage( [in] short PageId, [in] short Reason );
-
/** called when a page in the wizard is being deactivated
*/
void onDeactivatePage( [in] short PageId );
diff --git a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
index 50f3212e1cf2..149f8c14709b 100644
--- a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
+++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
@@ -58,9 +58,6 @@ interface XWizardPage : ::com::sun::star::lang::XComponent
An implementation can veto the leave by returning here. Usually, the decision about this
depends on the current state of the page.
- Note that XWizardPage::commitPage is called before XWizardController::confirmDeactivatePage
- gets called.
-
@param Reason
is one of the WizardTravelType contants denoting the reason why the page should be
committed.
--
cgit v1.2.3
From ab54a7404ba383265f8a4dca953bcf4bcfd093b8 Mon Sep 17 00:00:00 2001
From: "Frank Schoenheit [fs]"
Date: Tue, 1 Jun 2010 15:03:56 +0200
Subject: unoawt: UNO/SVT wizzards: allow to completely reset the DefaultButton
- for pages which have on own default button
---
offapi/com/sun/star/ui/dialogs/WizardButton.idl | 2 ++
offapi/com/sun/star/ui/dialogs/XWizard.idl | 3 ++-
2 files changed, 4 insertions(+), 1 deletion(-)
(limited to 'offapi/com/sun/star')
diff --git a/offapi/com/sun/star/ui/dialogs/WizardButton.idl b/offapi/com/sun/star/ui/dialogs/WizardButton.idl
index aeb22910996c..34c0d8074889 100644
--- a/offapi/com/sun/star/ui/dialogs/WizardButton.idl
+++ b/offapi/com/sun/star/ui/dialogs/WizardButton.idl
@@ -37,6 +37,8 @@ module com { module sun { module star { module ui { module dialogs {
*/
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
diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl
index 5de5eaa300a4..445f7bbf2a44 100644
--- a/offapi/com/sun/star/ui/dialogs/XWizard.idl
+++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl
@@ -102,7 +102,8 @@ interface XWizard
buttons are unlikely to ever being disabled.
@param WizardButton
- denotes the button to enable or disable, as one of the WizardButton constants
+ denotes the button to enable or disable, as one of the WizardButton constants. Must not be
+ WizardButton::NONE.
@param Enable
specifies whether the button should be enabled () or disabled ()
*/
--
cgit v1.2.3
From 6a0a47771e909a2afe9f19ad09a960ed2f938149 Mon Sep 17 00:00:00 2001
From: Ingrid Halama
Date: Tue, 1 Jun 2010 19:06:06 +0200
Subject: chart47: #i109765# added interface XDrawPageSupplier
---
offapi/com/sun/star/chart/ChartDocument.idl | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
(limited to 'offapi/com/sun/star')
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
#endif
-// #ifndef com_sun_star_chart2_data_XDataReceiver_idl
-// #include
-// #endif
+#include
+
//=============================================================================
@@ -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 XDataProvider.
- */
- // BM: #i32138# XDataReceiver is not yet published
-// [optional] interface ::com::sun::star::chart2::data::XDataReceiver;
+ [optional] interface ::com::sun::star::drawing::XDrawPageSupplier;
//-------------------------------------------------------------------------
--
cgit v1.2.3
From 68ad260fd44cd87f726f00878b2010edcc2db7b7 Mon Sep 17 00:00:00 2001
From: sj
Date: Fri, 4 Jun 2010 21:03:24 +0200
Subject: impress190: #i112086# added support of CustomGeometry
---
.../sun/star/drawing/EnhancedCustomShapeHandle.idl | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
(limited to 'offapi/com/sun/star')
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;
--
cgit v1.2.3