Kaydet (Commit) 274a4d4f authored tarafından Daniel Rentz's avatar Daniel Rentz

mib16: rebase to m83

/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public 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
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
#include <com/sun/star/util/Color.idl> #include <com/sun/star/util/Color.idl>
#endif #endif
#include <com/sun/star/awt/XItemList.idl>
//============================================================================= //=============================================================================
...@@ -208,6 +210,11 @@ published service UnoControlListBoxModel ...@@ -208,6 +210,11 @@ published service UnoControlListBoxModel
this is possible.</p> this is possible.</p>
*/ */
[optional, property] short MouseWheelBehavior; [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;
}; };
//============================================================================= //=============================================================================
......
...@@ -45,9 +45,11 @@ ...@@ -45,9 +45,11 @@
/** specifies a simple animation control. /** specifies a simple animation control.
<p>The model of an <type>UnoControlSimpleAnimation</type> control must support <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; service com::sun::star::awt::UnoControl;
......
...@@ -45,9 +45,10 @@ ...@@ -45,9 +45,10 @@
<p> </p> <p> </p>
@see UnoControlScrollBarModel @see UnoControlScrollBarModel
@since OOo 2.2
*/ */
service UnoControlSimpleAnimationModel published service UnoControlSimpleAnimationModel
{ {
service com::sun::star::awt::UnoControlModel; service com::sun::star::awt::UnoControlModel;
......
...@@ -45,9 +45,11 @@ ...@@ -45,9 +45,11 @@
/** specifies a simple animation control. /** specifies a simple animation control.
<p>The model of an <type>UnoControlThrobber</type> control must support <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; service com::sun::star::awt::UnoControl;
......
...@@ -45,9 +45,10 @@ ...@@ -45,9 +45,10 @@
<p> </p> <p> </p>
@see UnoControlScrollBarModel @see UnoControlScrollBarModel
@since OOo 2.2
*/ */
service UnoControlThrobberModel published service UnoControlThrobberModel
{ {
service com::sun::star::awt::UnoControlModel; service com::sun::star::awt::UnoControlModel;
}; };
......
/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public 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
/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public 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
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
/** Controls the animation control. /** Controls the animation control.
*/ */
interface XSimpleAnimation: com::sun::star::uno::XInterface published interface XSimpleAnimation: com::sun::star::uno::XInterface
{ {
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
/** Controls the animation control. /** Controls the animation control.
*/ */
interface XThrobber: com::sun::star::uno::XInterface published interface XThrobber: com::sun::star::uno::XInterface
{ {
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
......
...@@ -328,7 +328,10 @@ IDLFILES=\ ...@@ -328,7 +328,10 @@ IDLFILES=\
MenuLogo.idl \ MenuLogo.idl \
XMenuExtended2.idl \ XMenuExtended2.idl \
XMenuBarExtended.idl \ XMenuBarExtended.idl \
XPopupMenuExtended.idl XPopupMenuExtended.idl \
XItemList.idl \
XItemListListener.idl \
ItemListEvent.idl
# ------------------------------------------------------------------ # ------------------------------------------------------------------
......
...@@ -219,6 +219,17 @@ interface XTreeControl ...@@ -219,6 +219,17 @@ interface XTreeControl
*/ */
XTreeNode getClosestNodeForLocation( [in] long x, [in] long y ); 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 // tree editing
// ------------ // ------------
......
...@@ -39,9 +39,8 @@ ...@@ -39,9 +39,8 @@
#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl> #include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
#endif #endif
// #ifndef com_sun_star_chart2_data_XDataReceiver_idl #include <com/sun/star/drawing/XDrawPageSupplier.idl>
// #include <com/sun/star/chart2/data/XDataReceiver.idl>
// #endif
//============================================================================= //=============================================================================
...@@ -73,12 +72,7 @@ published service ChartDocument ...@@ -73,12 +72,7 @@ published service ChartDocument
interface ::com::sun::star::chart::XChartDocument; interface ::com::sun::star::chart::XChartDocument;
interface ::com::sun::star::beans::XPropertySet; interface ::com::sun::star::beans::XPropertySet;
/** If this interface is implemented, it is possible to connect [optional] interface ::com::sun::star::drawing::XDrawPageSupplier;
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;
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
......
...@@ -68,6 +68,26 @@ service EnhancedCustomShapeHandle ...@@ -68,6 +68,26 @@ service EnhancedCustomShapeHandle
*/ */
[optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameterPair Polar; [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. /** If the attribute RangeXMinimum is set, it specifies the horizontal minimum range of the handle.
*/ */
[optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RangeXMinimum; [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RangeXMinimum;
......
...@@ -135,6 +135,14 @@ published service Shape ...@@ -135,6 +135,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 /** If this is <FALSE/>, the <type>Shape</type> is not visible
on printer outputs. on printer outputs.
*/ */
......
...@@ -111,6 +111,13 @@ published service TextFrame ...@@ -111,6 +111,13 @@ published service TextFrame
@see SizeType @see SizeType
*/ */
[property] short 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 /** determines the interpretation of the width and relative
width properties. width properties.
...@@ -119,12 +126,14 @@ published service TextFrame ...@@ -119,12 +126,14 @@ published service TextFrame
@since OOo 2.4 @since OOo 2.4
*/ */
[optional, property] short WidthType; [optional, property] short WidthType;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
/** contains the writing direction, as represented by the /** contains the writing direction, as represented by the
<type scope="com::sun::star::text">WritingMode2</type> constants <type scope="com::sun::star::text">WritingMode2</type> constants
*/ */
[optional, property] short WritingMode; [optional, property] short WritingMode;
//-----------------------------------------------------------------------------
/** controls, if the frame follows the text flow or can leave its layout environment /** 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 <p>If set, the frame follows the text flow and doesn't leaves the layout
......
/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 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
/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 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
/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 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
/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 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
/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 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
/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 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
...@@ -64,7 +64,13 @@ IDLFILES=\ ...@@ -64,7 +64,13 @@ IDLFILES=\
XControlInformation.idl \ XControlInformation.idl \
XAsynchronousExecutableDialog.idl \ XAsynchronousExecutableDialog.idl \
XDialogClosedListener.idl \ XDialogClosedListener.idl \
DialogClosedEvent.idl DialogClosedEvent.idl \
XWizard.idl \
XWizardController.idl \
Wizard.idl \
XWizardPage.idl \
WizardButton.idl \
WizardTravelType.idl
# ------------------------------------------------------------------ # ------------------------------------------------------------------
......
/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 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
...@@ -53,6 +53,7 @@ IDLFILES=\ ...@@ -53,6 +53,7 @@ IDLFILES=\
ElementChange.idl \ ElementChange.idl \
Endianness.idl \ Endianness.idl \
FileIOException.idl\ FileIOException.idl\
InvalidStateException.idl\
Language.idl\ Language.idl\
NumberFormat.idl\ NumberFormat.idl\
NumberFormatProperties.idl\ NumberFormatProperties.idl\
......
...@@ -87,7 +87,6 @@ void SAL_CALL osl_trace(const sal_Char* lpszFormat, ...) ...@@ -87,7 +87,6 @@ void SAL_CALL osl_trace(const sal_Char* lpszFormat, ...)
if ( IsDebuggerPresent() ) if ( IsDebuggerPresent() )
{ {
sal_Char szMessage[512]; sal_Char szMessage[512];
szMessage[sizeof(szMessage)-1] = 0;
written = _vsnprintf( szMessage, sizeof(szMessage) - 2, lpszFormat, args ); written = _vsnprintf( szMessage, sizeof(szMessage) - 2, lpszFormat, args );
if ( written == -1 ) if ( written == -1 )
written = sizeof(szMessage) - 2; written = sizeof(szMessage) - 2;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment