diff options
Diffstat (limited to 'offapi/com/sun/star/frame')
134 files changed, 13358 insertions, 0 deletions
diff --git a/offapi/com/sun/star/frame/BorderWidths.idl b/offapi/com/sun/star/frame/BorderWidths.idl new file mode 100644 index 000000000000..15bf22f673ea --- /dev/null +++ b/offapi/com/sun/star/frame/BorderWidths.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: BorderWidths.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_BorderWidths_idl__ +#define __com_sun_star_frame_BorderWidths_idl__ + + +//============================================================================ + + module com { module sun { module star { module frame { + +//============================================================================ + +/** specifies a border area by offsets from each side. + */ +struct BorderWidths +{ + //------------------------------------------------------------------------ + /** specifies the offset from left border. + */ + long Left; + + //------------------------------------------------------------------------ + /** specifies the offset from top border. + */ + long Top; + + //------------------------------------------------------------------------ + /** specifies the offset from right border. + */ + long Right; + + //------------------------------------------------------------------------ + /** specifies the offset from bottom border. + */ + long Bottom; + +}; + +//============================================================================ + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/frame/CommandGroup.idl b/offapi/com/sun/star/frame/CommandGroup.idl new file mode 100644 index 000000000000..43a58da2b166 --- /dev/null +++ b/offapi/com/sun/star/frame/CommandGroup.idl @@ -0,0 +1,182 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: CommandGroup.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_CommandGroup_idl__ +#define __com_sun_star_frame_CommandGroup_idl__ + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** provides information about a supported command + + @see XDispatchInformationProvider + @see Controller + + @since OOo 2.0.0 + */ +published constants CommandGroup +{ + //------------------------------------------------------------------------- + /** specifies interal commands. + */ + const short INTERNAL = 0; + + //------------------------------------------------------------------------- + /** specifies application based commands. + */ + const short APPLICATION = 1; + + //------------------------------------------------------------------------- + /** specifies view specific commands. + */ + const short VIEW = 2; + + //------------------------------------------------------------------------- + /** specifies document specific commands. + */ + const short DOCUMENT = 3; + + //------------------------------------------------------------------------- + /** specifies edit specific commands. + */ + const short EDIT = 4; + + //------------------------------------------------------------------------- + /** specifies commands used by the built-in Basic. + */ + const short MACRO = 5; + + //------------------------------------------------------------------------- + /** specifies commands to change options. + */ + const short OPTIONS = 6; + + //------------------------------------------------------------------------- + /** specifies math specific commands. + */ + const short MATH = 7; + + //------------------------------------------------------------------------- + /** specifies navigate commands. + */ + const short NAVIGATOR = 8; + + //------------------------------------------------------------------------- + /** specifies insert commands. + */ + const short INSERT = 9; + + //------------------------------------------------------------------------- + /** specifies commands that are related to formats. + */ + const short FORMAT = 10; + + //------------------------------------------------------------------------- + /** specifies commands that are related to templates. + */ + const short TEMPLATE = 11; + + //------------------------------------------------------------------------- + /** specifies text specific commands. + */ + const short TEXT = 12; + + //------------------------------------------------------------------------- + /** specifies frame specific commands. + */ + const short FRAME = 13; + + //------------------------------------------------------------------------- + /** specifies commands that are related to graphical data. + */ + const short GRAPHIC = 14; + + //------------------------------------------------------------------------- + /** specifies commands that are related to tables. + */ + const short TABLE = 15; + + //------------------------------------------------------------------------- + /** specifies commands that are related to bullets and numbering. + */ + const short ENUMERATION = 16; + + //------------------------------------------------------------------------- + /** specifies commands that are related to data. + */ + const short DATA = 17; + + //------------------------------------------------------------------------- + /** specifies special commands. + */ + const short SPECIAL = 18; + + //------------------------------------------------------------------------- + /** specifies commands that are related to images. + */ + const short IMAGE = 19; + + //------------------------------------------------------------------------- + /** specifies chart specific commands. + */ + const short CHART = 20; + + //------------------------------------------------------------------------- + /** specifies explorer specific commands. + */ + const short EXPLORER = 21; + + //------------------------------------------------------------------------- + /** specifies commands that are related to connectors. + */ + const short CONNECTOR = 22; + + //------------------------------------------------------------------------- + /** specifies commands that are related to modifications. + */ + const short MODIFY = 23; + + //------------------------------------------------------------------------- + /** specifies commands that are related to drawing. + */ + const short DRAWING = 24; + + //------------------------------------------------------------------------- + /** specifies commands that are related to controls. + */ + const short CONTROLS = 25; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/Components.idl b/offapi/com/sun/star/frame/Components.idl new file mode 100644 index 000000000000..6e2535b37150 --- /dev/null +++ b/offapi/com/sun/star/frame/Components.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: Components.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_Components_idl__ +#define __com_sun_star_frame_Components_idl__ + +#ifndef __com_sun_star_container_XEnumerationAccess_idl__ +#include <com/sun/star/container/XEnumerationAccess.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** specifies a collection of components + + <p> + One important instance of this service is available from the + <type>Desktop</type> object via the <type>XDesktop</type> interface. + </p> + + @see com::sun::star::lang::XComponent + @see XDesktop + */ +published service Components +{ + //------------------------------------------------------------------------- + /** use it to get snapshot of current avaliable components as an enumeration + */ + interface com::sun::star::container::XEnumerationAccess; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/ContentHandler.idl b/offapi/com/sun/star/frame/ContentHandler.idl new file mode 100644 index 000000000000..11557e5ace52 --- /dev/null +++ b/offapi/com/sun/star/frame/ContentHandler.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ContentHandler.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_ContentHandler_idl__ +#define __com_sun_star_frame_ContentHandler_idl__ + +#ifndef __com_sun_star_frame_XNotifyingDispatch_idl__ +#include <com/sun/star/frame/XNotifyingDispatch.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** special dispatcher for non visible contents, e.g. sounds + + <p> + This handler doesn't need any frame as target for loading components. + Content handler are registered for content types. + (See type/filter configuration of <type scope="com::sun::star::document">TypeDetection</type> + for further informations) If generic load mechanism found such documents which + can be handled by a ContentHandler it will create and use it. + </p> + + @see com::sun::star::document::TypeDetection + */ +published service ContentHandler +{ + //------------------------------------------------------------------------- + /** provides handling of dispatches with defined result state + + <p> + Base interface of <type>XNotifyingDispatch</type> is <type>XDispatch</type> + and can be called for requests if result isn't neccessary for dispatch operation. + </p> + + @see XDispatch + */ + interface XNotifyingDispatch; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/ContentHandlerFactory.idl b/offapi/com/sun/star/frame/ContentHandlerFactory.idl new file mode 100644 index 000000000000..3f6552476192 --- /dev/null +++ b/offapi/com/sun/star/frame/ContentHandlerFactory.idl @@ -0,0 +1,114 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ContentHandlerFactory.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_ContentHandlerFactory_idl__ +#define __com_sun_star_frame_ContentHandlerFactory_idl__ + +#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#endif + +#ifndef __com_sun_star_container_XNameAccess_idl__ +#include <com/sun/star/container/XNameAccess.idl> +#endif + +#ifndef __com_sun_star_container_XContainerQuery_idl__ +#include <com/sun/star/container/XContainerQuery.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** factory to create content loader + + <p> + With this factory it's possible to + <ul> + <li>have access on configuration of set of registered content handler objects</li> + <li>create a content handler by his internal name</li> + <li>query for a content handler by using special query or property description.</li> + </ul> + </p> + */ +published service ContentHandlerFactory +{ + //------------------------------------------------------------------------- + /** interface to create handler objects by using his internal name + + <p> + Returned objects must support the service specification of a <type>ContentHandler</type>. + They can be created by using of his internal name, which must be unambigous everytime, only. + To get this name use further specified interfaces of this factory for access on + the flat configuration. + </p> + */ + interface com::sun::star::lang::XMultiServiceFactory; + + //------------------------------------------------------------------------- + /** provides access to the whole content handler configuration + + <p> + This interface supports an access to the internal configuration + of all accessible handler objects. The return value of + <member scope="com::sun::star::container">XNameAccess::getByName()</member> is a property sequence + packed in an any. + </p> + <table border=1> + <tr> + <td><b>Types<b></td> + <td>[string]</td> + <td>file types for which handler is registered</td> + </tr> + <tr> + <td><b>UIName<b></td> + <td>[string]</td> + <td>UI representable and localized name</td> + </tr> + </table> + */ + interface com::sun::star::container::XNameAccess; + + //------------------------------------------------------------------------- + /** supports query mode for configuration access + + <p> + This interface can be used to get sub sets of current configuration entries + which represent given search parameters. + </p> + */ + interface com::sun::star::container::XContainerQuery; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/ControlCommand.idl b/offapi/com/sun/star/frame/ControlCommand.idl new file mode 100644 index 000000000000..684ff4e50897 --- /dev/null +++ b/offapi/com/sun/star/frame/ControlCommand.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ControlCommand.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_ControlCommand_idl__ +#define __com_sun_star_frame_ControlCommand_idl__ + + +#ifndef __com_sun_star_beans_NamedValue_idl__ +#include <com/sun/star/beans/NamedValue.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** describes a command which can be send to a generic toolbar control. + + @since OOo 2.0.3 + */ +struct ControlCommand +{ + //------------------------------------------------------------------------- + + /** specifies the command which should be processed by the toolbar + control. + */ + string Command; + + //------------------------------------------------------------------------- + + /** specifies a sequence of named values which are used as argument + for the command. The number and type of arguments depend on the + the command and control. + */ + sequence< com::sun::star::beans::NamedValue > Arguments; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/ControlEvent.idl b/offapi/com/sun/star/frame/ControlEvent.idl new file mode 100644 index 000000000000..293aec4f5b49 --- /dev/null +++ b/offapi/com/sun/star/frame/ControlEvent.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ControlEvent.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_ControlEvent_idl__ +#define __com_sun_star_frame_ControlEvent_idl__ + +#ifndef __com_sun_star_util_URL_idl__ +#include <com/sun/star/util/URL.idl> +#endif + +#ifndef __com_sun_star_beans_NamedValue_idl__ +#include <com/sun/star/beans/NamedValue.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** describes a control event send by extended user interface + controls. + + @since OOo 2.0.3 + */ +struct ControlEvent +{ + //------------------------------------------------------------------------- + /** fully parsed URL describing the control that sends this + notification. + */ + ::com::sun::star::util::URL aURL; + + /** specifies the event which has occured. + */ + string Event; + + //------------------------------------------------------------------------- + + /** specifies a sequence of named values which are used as + additional values for the event. The number and types of + named values depent on the event. + */ + sequence< com::sun::star::beans::NamedValue > aInformation; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/Controller.idl b/offapi/com/sun/star/frame/Controller.idl new file mode 100644 index 000000000000..28730a34d774 --- /dev/null +++ b/offapi/com/sun/star/frame/Controller.idl @@ -0,0 +1,133 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: Controller.idl,v $ + * $Revision: 1.13 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_Controller_idl__ +#define __com_sun_star_frame_Controller_idl__ + +#ifndef __com_sun_star_frame_XController_idl__ +#include <com/sun/star/frame/XController.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchProvider_idl__ +#include <com/sun/star/frame/XDispatchProvider.idl> +#endif + +#ifndef __com_sun_star_awt_XWindow_idl__ +#include <com/sun/star/awt/XWindow.idl> +#endif + +#ifndef __com_sun_star_ui_XContextMenuInterception_idl__ +#include <com/sun/star/ui/XContextMenuInterception.idl> +#endif + +#ifndef __com_sun_star_awt_XUserInputInterception_idl__ +#include <com/sun/star/awt/XUserInputInterception.idl> +#endif + +#ifndef __com_sun_star_view_XSelectionSupplier_idl__ +#include <com/sun/star/view/XSelectionSupplier.idl> +#endif + +#ifndef __com_sun_star_datatransfer_XTransferableSupplier_idl__ +#include <com/sun/star/datatransfer/XTransferableSupplier.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** is an abstract service for a component which offers a deeper integration of + desktop components than a <type scope="com::sun::star::awt">XWindow</type> + can offer + + <p> + Such components can be loaded into a <type>Frame</type> inside a <type>Desktop</type> + environment. A controller is a richer component then a pure window, but full featured + components need a <type>XModel</type> interface too. + <br> + (see service <type scope="com::sun::star::document">OfficeDocument</type> for further information) + <p> + + @see com::sun::star::document::OfficeDocument + */ +published service Controller +{ + //------------------------------------------------------------------------- + /** with this interface, components viewed in a <type>Frame</type> can serve + events (by supplying dispatches) + */ + interface XController; + + //------------------------------------------------------------------------- + /** for certain functions which are useful at the UI + + <p> + Mostly used by the <type>Frame</type> service, which contains this + controller object. There will be an interception mechanism for dispatches + available too. + </p> + + @see XDispatch + @see XDispatchProviderInterception + */ + interface XDispatchProvider; + + //------------------------------------------------------------------------- + /** this interface enables the controller to get interceptors registered that + change context menue or prevent them from beeing executed + + <p> + Don't mix it with <type>XDispatchProviderInterception</type> which + intercept calls of <member>XDispatch::dispatch()</member>. + </p> + */ + [optional] interface com::sun::star::ui::XContextMenuInterception; + + //------------------------------------------------------------------------- + /** makes it possible to intercept keyboard and mouse input. + */ + [optional] interface com::sun::star::awt::XUserInputInterception; + + //------------------------------------------------------------------------- + /** makes it possible to access and change the selection in a view + */ + [optional] interface com::sun::star::view::XSelectionSupplier; + + //------------------------------------------------------------------------- + /** makes it possible to work with clipboard data + */ + [optional] interface com::sun::star::datatransfer::XTransferableSupplier; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/Desktop.idl b/offapi/com/sun/star/frame/Desktop.idl new file mode 100644 index 000000000000..c71557371f5a --- /dev/null +++ b/offapi/com/sun/star/frame/Desktop.idl @@ -0,0 +1,103 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: Desktop.idl,v $ + * $Revision: 1.12 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_Desktop_idl__ +#define __com_sun_star_frame_Desktop_idl__ + +#ifndef __com_sun_star_frame_Frame_idl__ +#include <com/sun/star/frame/Frame.idl> +#endif + +#ifndef __com_sun_star_frame_XDesktop_idl__ +#include <com/sun/star/frame/XDesktop.idl> +#endif + +#ifndef __com_sun_star_frame_XComponentLoader_idl__ +#include <com/sun/star/frame/XComponentLoader.idl> +#endif + +#ifndef __com_sun_star_document_XEventBroadcaster_idl__ +#include <com/sun/star/document/XEventBroadcaster.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** is the environment for components which can instantiate within frames + + <p> + A desktop environment contains tasks with one or more frames + in which components can be loaded. The term "task" or naming a frame as a + "task frame" is not in any way related to any additional implemented + interfaces, it's just because these frames use task windows. + </p> + */ +published service Desktop +{ + //------------------------------------------------------------------------- + /** make it possible to be the global root of different seperated frame trees + + <p> + It's not a must for a frame (neither a frame tree) to be a part of this + global tree. But such outstanding frames won't be accessible by the normal + frame api. + </p> + */ + service Frame; + + //------------------------------------------------------------------------- + /** regulate life time of desktop environment and support high level + access to components of sub frame tree + */ + interface XDesktop; + + //------------------------------------------------------------------------- + /** supports simple api for loading components into the frame environment + */ + interface XComponentLoader; + + //------------------------------------------------------------------------- + /** @deprecated This interface is a documentation error. It was never thought to be supported + by this service. Please use the service <type cope="com::sun::star::frame">GlobalEventBroadcaster</type> + instead of this interface. + */ + interface com::sun::star::document::XEventBroadcaster; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DesktopTask.idl b/offapi/com/sun/star/frame/DesktopTask.idl new file mode 100644 index 000000000000..80e9f195d7f3 --- /dev/null +++ b/offapi/com/sun/star/frame/DesktopTask.idl @@ -0,0 +1,112 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DesktopTask.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_DesktopTask_idl__ +#define __com_sun_star_frame_DesktopTask_idl__ + +#ifndef __com_sun_star_frame_XDesktopTask_idl__ +#include <com/sun/star/frame/XDesktopTask.idl> +#endif + +#ifndef __com_sun_star_frame_XFrame_idl__ +#include <com/sun/star/frame/XFrame.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +#ifndef __com_sun_star_frame_XWindowArranger_idl__ +#include <com/sun/star/frame/XWindowArranger.idl> +#endif + +#ifndef __com_sun_star_frame_XFramesSupplier_idl__ +#include <com/sun/star/frame/XFramesSupplier.idl> +#endif + +#ifndef __com_sun_star_awt_Point_idl__ +#include <com/sun/star/awt/Point.idl> +#endif + +#ifndef __com_sun_star_awt_Size_idl__ +#include <com/sun/star/awt/Size.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** use the <type>Frame</type> service instead of this + @deprecated + */ +published service DesktopTask +{ + /** use <type>Frame</type> service */ + interface com::sun::star::frame::XDesktopTask; + + /** use the same interface at the <type>Frame</type> service */ + interface com::sun::star::frame::XFrame; + + /** use the same interface at the <type>Frame</type> service */ + interface com::sun::star::beans::XPropertySet; + + /** - */ + interface com::sun::star::frame::XWindowArranger; + + /** use the same interface at the <type>Desktop</type> or + <type>Frame</type> service */ + interface com::sun::star::frame::XFramesSupplier; + + /** use property <member>Frame::Title</member> instead of that */ + [readonly, property] string Title; + + /** - */ + [readonly, property] boolean IsDesktop; + + /** use th visible state of the frame container window instead of this */ + [property] boolean IsVisible; + + /** - */ + [property] boolean IsFloating; + /** - */ + [property] boolean IsAlwaysVisible; + + /** use the position of the frame container window instead of this */ + [property] com::sun::star::awt::Point Position; + + /** use the size of the frame container window instead of this */ + [property] com::sun::star::awt::Size Size; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DesktopTasks.idl b/offapi/com/sun/star/frame/DesktopTasks.idl new file mode 100644 index 000000000000..ddf9a52e974e --- /dev/null +++ b/offapi/com/sun/star/frame/DesktopTasks.idl @@ -0,0 +1,53 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DesktopTasks.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_DesktopTasks_idl__ +#define __com_sun_star_frame_DesktopTasks_idl__ + +#ifndef __com_sun_star_container_XEnumerationAccess_idl__ +#include <com/sun/star/container/XEnumerationAccess.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** @deprecated + */ +published service DesktopTasks +{ + interface com::sun::star::container::XEnumerationAccess; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DispatchDescriptor.idl b/offapi/com/sun/star/frame/DispatchDescriptor.idl new file mode 100644 index 000000000000..7ff80bd7d0ee --- /dev/null +++ b/offapi/com/sun/star/frame/DispatchDescriptor.idl @@ -0,0 +1,96 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DispatchDescriptor.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_DispatchDescriptor_idl__ +#define __com_sun_star_frame_DispatchDescriptor_idl__ + +#ifndef __com_sun_star_util_URL_idl__ +#include <com/sun/star/util/URL.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** describes a feature to be retrieved by a URL that + has to be loaded into a specified frame + + <p> + For a normal dispatch calls all needed parameters are seperated. + For optimized remote functionality <member>XDispatch::queryDispatches()</member> + it's neccessary to pack these parameters in a flat structure wich can be used + in a simple manner. + </p> + + @see XDispatchProvider::queryDispatches() + */ +published struct DispatchDescriptor +{ + //------------------------------------------------------------------------- + /** specifies the URL of the resource/function + + <p> + Must be a full parsed URL. Use service <type scope="com::sun::star::util">URLTransformer</type> + for that. + </p> + + @see com::sun::star::util::URLTransformer + */ + com::sun::star::util::URL FeatureURL; + + //------------------------------------------------------------------------- + /** name of the target frame + + <p> + Special targets (e.g. "_blank", "_self") or realy existing target names can be used. + </p> + + @see XDispatchProvider::queryDispatch() + */ + string FrameName; + + //------------------------------------------------------------------------- + /** describes how the target frame is to be searched + + <p> + This optional parameter is used if <var>FrameName</var> isn't a special target only. + </p> + + @see FrameSearchFlag + */ + long SearchFlags; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DispatchHelper.idl b/offapi/com/sun/star/frame/DispatchHelper.idl new file mode 100644 index 000000000000..a92d0432fa21 --- /dev/null +++ b/offapi/com/sun/star/frame/DispatchHelper.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DispatchHelper.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_DispatchHelper_idl__ +#define __com_sun_star_frame_DispatchHelper_idl__ + +#ifndef __com_sun_star_frame_XDispatchHelper_idl__ +#include <com/sun/star/frame/XDispatchHelper.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** provides an easy way to dispatch an URL using one call instead of multiple ones. + + <p> + Normaly a complete dispatch is splitted into different parts: + - converting and parsing the URL + - searching for a valid dispatch object available on a dispatch provider + - dispatching of the URL and it's parameters + </p> + + @see DispatchProvider + + @since OOo 1.1.2 + */ +published service DispatchHelper +{ + //------------------------------------------------------------------------- + /** provides the easy way for dispatch requests. + + @see XDispatchProvider + @see XDispatch + */ + interface XDispatchHelper; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DispatchInformation.idl b/offapi/com/sun/star/frame/DispatchInformation.idl new file mode 100644 index 000000000000..ad174f30849c --- /dev/null +++ b/offapi/com/sun/star/frame/DispatchInformation.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DispatchInformation.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_DispatchInformation_idl__ +#define __com_sun_star_frame_DispatchInformation_idl__ + +#ifndef __com_sun_star_frame_CommandGroup_idl__ +#include <com/sun/star/frame/CommandGroup.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** provides information about a supported command + + @see XDispatchInformationProvider + @see Controller + + @since OOo 2.0.0 + */ +published struct DispatchInformation +{ + //------------------------------------------------------------------------- + /** command URL of a supported command. + */ + string Command; + + //------------------------------------------------------------------------- + /** group identifier to which the supported command belong. + + <p> + @see CommandGroup + </p> + */ + short GroupId; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DispatchProvider.idl b/offapi/com/sun/star/frame/DispatchProvider.idl new file mode 100644 index 000000000000..5fda63ea869d --- /dev/null +++ b/offapi/com/sun/star/frame/DispatchProvider.idl @@ -0,0 +1,89 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DispatchProvider.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_DispatchProvider_idl__ +#define __com_sun_star_frame_DispatchProvider_idl__ + +#ifndef __com_sun_star_frame_XDispatchProvider_idl__ +#include <com/sun/star/frame/XDispatchProvider.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__ +#include <com/sun/star/frame/XDispatchProviderInterception.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** provides <type>XDispatch</type> objects for certain functions which + are useful at the UI + + <p> + Such dispatch objects must be queried explicitly and used for + queried purposes only. They can handle requests with guaranteed + notifications (<type>XNotifyingDispatch</type>) or with possible + (but not guaranteed) notifications (<type>XDispatch</type>). + </p> + + @see XNotifyingDispatch + @see XDispatch + @see XControlNotificationListener + */ +published service DispatchProvider +{ + //------------------------------------------------------------------------- + /** provides handling of dispatches with defined result state + + <p> + Base interface of <type>XNotifyingDispatch</type> is <type>XDispatch</type> + and can be called for requests if result isn't neccessary for dispatch operation. + </p> + + @see XDispatch + */ + interface XDispatchProvider; + + //------------------------------------------------------------------------- + /** provides dispatch interception + + <p> + It makes it possible to register an <type>XDispatchProvider</type> which + intercepts all requests of <type>XDispatch</type> to this instance. + </p> + */ + [optional] interface XDispatchProviderInterception; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DispatchRecorder.idl b/offapi/com/sun/star/frame/DispatchRecorder.idl new file mode 100644 index 000000000000..209398c2a36f --- /dev/null +++ b/offapi/com/sun/star/frame/DispatchRecorder.idl @@ -0,0 +1,78 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DispatchRecorder.idl,v $ + * $Revision: 1.11 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_DispatchRecorder_idl__ +#define __com_sun_star_frame_DispatchRecorder_idl__ + +#ifndef __com_sun_star_frame_XDispatchRecorder_idl__ +#include <com/sun/star/frame/XDispatchRecorder.idl> +#endif + +#ifndef __com_sun_star_container_XIndexReplace_idl__ +#include <com/sun/star/container/XIndexReplace.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** provides functionality to record <member>XDispatch::dispatch()</member> requests + + <p> + It records all neccessary parameters of a call <member>XDispatch::dispatch()</member> + and generate code which can be executed at later time to run same operations + again. Which code will be generated depends from real implementation. So it's + possible to generate e.g. Java/Basic or may Perl code. + By using of a <type>DispatchRecorderSupplier</type>, which is available on + a property of a <member>Frame::DispatchRecorderSupplier</member>, it's possible to change such code generation + for further requests or disable it in general by setting this property to <NULL/>. + </p> + + @see DispatchRecorderSupplier + @see Frame::RecorderSupplier + + @since OOo 1.1.2 + */ +published service DispatchRecorder +{ + //------------------------------------------------------------------------- + /** provides the record functionality and access on the generated code + */ + interface com::sun::star::frame::XDispatchRecorder; + /** provides replacement capability of recorded statements + */ + interface com::sun::star::container::XIndexReplace; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl b/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl new file mode 100644 index 000000000000..8cbe4af925d5 --- /dev/null +++ b/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DispatchRecorderSupplier.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_DispatchRecorderSupplier_idl__ +#define __com_sun_star_frame_DispatchRecorderSupplier_idl__ + +#ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__ +#include <com/sun/star/frame/XDispatchRecorderSupplier.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** provides a <type>DispatchRecorder</type> + + <p> + This supplier regulate macro recording of <member>XDispatch::dispatch()</member> + calls. For that it capsulate a reference to a <type>DispatchRecorder</type>. + Such recorder is used internaly and can be used externaly too. + A supplier will be available on a <type>Frame</type> if recording was enabled, + otherwise not. A frame supports a special property for that. + This modular concept of recorder, supplier and frame makes it possible to + implement local recording on one frame; global recording by using all currently + opened frames or only some of them; and so on. + </p> + + @see DispatchRecorder + @see Frame + @since OOo 1.1.2 + */ +published service DispatchRecorderSupplier +{ + //------------------------------------------------------------------------- + /** provides access to a <type>DispatchRecorder</type> and helps on recording + */ + interface com::sun::star::frame::XDispatchRecorderSupplier; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DispatchResultEvent.idl b/offapi/com/sun/star/frame/DispatchResultEvent.idl new file mode 100644 index 000000000000..77fc388a045d --- /dev/null +++ b/offapi/com/sun/star/frame/DispatchResultEvent.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DispatchResultEvent.idl,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_DispatchResultEvent_idl__ +#define __com_sun_star_frame_DispatchResultEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +#ifndef __com_sun_star_util_URL_idl__ +#include <com/sun/star/util/URL.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** contains the result of the dispatch action, if State is set to SUCCESS + + <p> + The type of the result is dispatch action dependend. The member State + can be set to one of the values defined in <type>DispatchResultState</type>. + If State is set to <const>DispatchResultState::FAILURE</const>, Result may + specify the reason (or is empty). The type is also dispatch action dependend. + If State is set to <const>DispatchResultState::DONTKNOW</const>, Result is empty. + </p> + + @see DispatchResultState +*/ +published struct DispatchResultEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + /** describes state of dispatch + */ + short State; + + //------------------------------------------------------------------------- + /** describes result for given <var>State</var> + */ + any Result; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DispatchResultState.idl b/offapi/com/sun/star/frame/DispatchResultState.idl new file mode 100644 index 000000000000..5009a390c868 --- /dev/null +++ b/offapi/com/sun/star/frame/DispatchResultState.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DispatchResultState.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_DispatchResultState_idl__ +#define __com_sun_star_frame_DispatchResultState_idl__ + + +module com { module sun { module star { module frame { + +//============================================================================= +/** possible values for <type>DispatchResultEvent</type> + */ +published constants DispatchResultState +{ + //------------------------------------------------------------------------- + /** indicates: dispatch failed + */ + const short FAILURE = 0; + + //------------------------------------------------------------------------- + /** indicates: dispatch was successfully + */ + const short SUCCESS = 1; + + //------------------------------------------------------------------------- + /** indicates: result isn't defined + */ + const short DONTKNOW = 2; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DispatchStatement.idl b/offapi/com/sun/star/frame/DispatchStatement.idl new file mode 100644 index 000000000000..f3455bbcebe1 --- /dev/null +++ b/offapi/com/sun/star/frame/DispatchStatement.idl @@ -0,0 +1,108 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DispatchStatement.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_DispatchStatement_idl__ +#define __com_sun_star_frame_DispatchStatement_idl__ + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= + +// DocMerge from xml: struct com::sun::star::frame::DispatchStatement +/** represents a dispatch statement from a recorded macro + + @since OOo 1.1.2 + */ +published struct DispatchStatement +{ + // DocMerge from xml: field com::sun::star::frame::DispatchStatement::aCommand + /** specifies the dispatch command + + <p> + That means the <var>URL</var> parameter of a corresponding <member>XDispatchProvider::queryDispatch()</member> request. + </p> + */ + string aCommand; + + //------------------------------------------------------------------------- + + + // DocMerge from xml: field com::sun::star::frame::DispatchStatement::aTarget + /** specifies the frame target + + <p> + That means the <var>TargetFrameName</var> parameter of a corresponding <member>XDispatchProvider::queryDispatch()</member> request. + </p> + */ + string aTarget; + + //------------------------------------------------------------------------- + + // DocMerge from xml: field com::sun::star::frame::DispatchStatement::aArgs + /** specifies the dispatch command arguments + + <p> + That means the <var>Arguments</var> parameter of a corresponding <member>XDispatch::dispatch()</member> request. + </p> + */ + sequence < com::sun::star::beans::PropertyValue > aArgs; + + //------------------------------------------------------------------------- + + // DocMerge from xml: field com::sun::star::frame::DispatchStatement::nFlags + /** specifies the optional search flags + <p> + That means the <var>SearchFlags</var> parameter of a corresponding <member>XDispatchProvider::queryDispatch()</member> request. + </p> + */ + long nFlags; + + //------------------------------------------------------------------------- + + // DocMerge from xml: field com::sun::star::frame::DispatchStatement::bIsComment + /** specifies if this statement should be recorded as commented out or not + + @see XDispatchRecorder::recordDispatchAsComment() + */ + boolean bIsComment; + + //------------------------------------------------------------------------- +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DocumentTemplates.idl b/offapi/com/sun/star/frame/DocumentTemplates.idl new file mode 100644 index 000000000000..f86fe4d50ac6 --- /dev/null +++ b/offapi/com/sun/star/frame/DocumentTemplates.idl @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DocumentTemplates.idl,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_DocumentTemplates_idl__ +#define __com_sun_star_frame_DocumentTemplates_idl__ + +#ifndef __com_sun_star_frame_XDocumentTemplates_idl__ +#include <com/sun/star/frame/XDocumentTemplates.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** is an abstract service for accessing the document templates of the office + and manipulate them ( add or rename or remove templates ) +*/ +published service DocumentTemplates +{ + //------------------------------------------------------------------------- + /** implements a high level interface on top of an ucb content provider + which is used for template configuration + */ + interface XDocumentTemplates; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/DoubleInitializationException.idl b/offapi/com/sun/star/frame/DoubleInitializationException.idl new file mode 100644 index 000000000000..97c7dbd3c656 --- /dev/null +++ b/offapi/com/sun/star/frame/DoubleInitializationException.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DoubleInitializationException.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_TerminationVetoException_idl__ +#define __com_sun_star_frame_TerminationVetoException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::frame::DoubleInitializationException +/** This exception can be thrown in case an object is initialized second time. + + @since OOo 1.1.2 + */ +published exception DoubleInitializationException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/FeatureStateEvent.idl b/offapi/com/sun/star/frame/FeatureStateEvent.idl new file mode 100644 index 000000000000..1270fa37d100 --- /dev/null +++ b/offapi/com/sun/star/frame/FeatureStateEvent.idl @@ -0,0 +1,98 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: FeatureStateEvent.idl,v $ + * $Revision: 1.12 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_FeatureStateEvent_idl__ +#define __com_sun_star_frame_FeatureStateEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +#ifndef __com_sun_star_util_URL_idl__ +#include <com/sun/star/util/URL.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** This event is broadcast by a <type>Controller</type> whenever the state of + the feature changes + + @see XController + @see XStatusListener + */ +published struct FeatureStateEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + /** contains the URL of the feature. + */ + com::sun::star::util::URL FeatureURL; + + //------------------------------------------------------------------------- + /** contains a descriptor of the feature for the user interface. + */ + string FeatureDescriptor; + + //------------------------------------------------------------------------- + /** specifies whether the feature is currently enabled or disabled. + */ + boolean IsEnabled; + + //------------------------------------------------------------------------- + /** specifies whether the <type>XDispatch</type> has to be requeried. + + <p> + Interest code should listen for <type>FrameActionEvent</type> + too, to update own feature states and dispatch listener on + <const>FrameAction::CONTEXT_CHANGED</const>. + </p> + */ + boolean Requery; + + //------------------------------------------------------------------------- + /** contains the state of the feature in this dispatch. + + <p> + This can be, for example, simply <TRUE/> for a boolean feature like + underline on/off. Some simple types like <code>string</code> or + <atom>boolean</atom> are useful here for generic UI elements, like + a checkmark in a menu. + </p> + */ + any State; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/Frame.idl b/offapi/com/sun/star/frame/Frame.idl new file mode 100644 index 000000000000..59bd421e2209 --- /dev/null +++ b/offapi/com/sun/star/frame/Frame.idl @@ -0,0 +1,209 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: Frame.idl,v $ + * $Revision: 1.22 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_Frame_idl__ +#define __com_sun_star_frame_Frame_idl__ + +#ifndef __com_sun_star_frame_XFrame_idl__ +#include <com/sun/star/frame/XFrame.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchProvider_idl__ +#include <com/sun/star/frame/XDispatchProvider.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__ +#include <com/sun/star/frame/XDispatchRecorderSupplier.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__ +#include <com/sun/star/frame/XDispatchProviderInterception.idl> +#endif + +#ifndef __com_sun_star_frame_XFramesSupplier_idl__ +#include <com/sun/star/frame/XFramesSupplier.idl> +#endif + +#ifndef __com_sun_star_task_XStatusIndicatorFactory_idl__ +#include <com/sun/star/task/XStatusIndicatorFactory.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchInformationProvider_idl__ +#include <com/sun/star/frame/XDispatchInformationProvider.idl> +#endif + +#ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_ +#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** represents the environment for a desktop component + + <p> + Frames are the anchors for the office components and they are the components' link + to the outside world. They create a skeleton for the whole office api infrastructure + by building frame hierarchys. These hierarchies contains all currently loaded + documents and make it possible to walk during these trees. + A special service <type>Desktop</type> can(!) combine different of such trees + to a global one which life time will be controlled by it. + </p> + + @see Desktop + */ +published service Frame +{ + //------------------------------------------------------------------------- + /** contains user defined attributes. + + @see <type scope="com::sun::star::xml">UserDefinedAttributesSupplier</type> + */ + [optional] service com::sun::star::xml::UserDefinedAttributesSupplier; + + //------------------------------------------------------------------------- + /** allows the component to be loaded and accessed + within the frame; it is the main connection to the + environment of the component. + */ + interface XFrame; + + //------------------------------------------------------------------------- + /** provides access to dispatchers for the frame. + + <p> + What kind of URLs a frame accepts in the calls to <member>XDispatchProvider::queryDispatch()</member>, + and how the returned dispatcher handles dispatches is completely implementation dependent + (though of course the restrictions of <type>XDispatchProvider</type> must be met). + Frame implementations may (optionally) support special targets in the call to + <member>XDispatchProvider::queryDispatch()</member>. + Such special targets are passed as target frame name. They may, in addition, + require special frame search flags (see <type>FrameSearchFlag</type>), or, + in opposite, limit the set of allowed flags.<br> + Common special targets include: + <ul> + <li><b>_blank</b><br> is used to create a new frame when dispatching the URL.</li> + <li><b>_default</b><br> is used to recycle empty or create a new frame when dispatching the URL.</li> + <li><b>_self</b><br> forces the frame to dispatch the URL into itself. ("" means the same)</li> + <li><b>_parent</b><br> dispatches the URL into the parent frame.</li> + <li><b>_top</b><br> dispatches the URL into the top level frame, the frame where this is invoked belongs to.</li> + </ul> + </p> + + @see XDispatch + @see XFrame::findFrame() + */ + interface XDispatchProvider; + + //------------------------------------------------------------------------- + /** provides information about supported commands + + @since OOo 2.0.0 + */ + [optional] interface XDispatchInformationProvider; + + //------------------------------------------------------------------------- + /** supports interception mechanism for dispatched URLs + + <p> + Registered objects can intercept, supress or deroute dispatched URLs. + If they support another interface too (<type>XInterceptorInfo</type>) + it's possible to perform it by directly calling of right interceptor without + using list of all registered ones. + </p> + */ + interface XDispatchProviderInterception; + + //------------------------------------------------------------------------- + /** provides access to sub frames within this frame + */ + interface XFramesSupplier; + + //------------------------------------------------------------------------- + /** supplies access to <type scope="com::sun::star::task">XStatusIndicator</type> objects + for the component within the frame to show progresses + */ + [optional] interface com::sun::star::task::XStatusIndicatorFactory; + + //------------------------------------------------------------------------- + /** if possible it sets/gets the UI title on/from the frame container window + + <p> + It depends from the type of the frame container window. If it is a system + task window all will be OK. Otherwise the title can't be set. + Setting/getting of the pure value of this property must be possible in every + case. Only showing on the UI can be fail. + </p> + */ + [property] string Title; + + //------------------------------------------------------------------------- + /** provides access to the dispatch recorder of the frame + + <p> + Such recorder can be used to record dispatch requests. + The supplier contains a dispatch recorder and provide the functionality + to use it for any dispatch object from outside which supports the interface + <type>XDispatch</type>. A supplier is available only, if recording was enabled. + That means: if somewhere whish to enable recoding on a frame he must set + a supplier with a recorder object inside of it. Every user of dispatches + has to check then if such supplier is available at this frame property. + If value of this property is <NULL/> he must call <member>XDispatch::dispatch()</member> + on the original dispatch object. If it's a valid value he must use the supplier + by calling his method <member>XDispatchRecorderSupplier::dispatchAndRecord()</member> + with the original dispatch object as argument. + </p> + + <p> + Note:<br> + It's not recommended to cache an already getted supplier. Because there exist + no possibility to check for enabled/disabled recording then. + </p> + + @since OOo 1.1.2 + */ + [optional, property] XDispatchRecorderSupplier RecorderSupplier; + + //------------------------------------------------------------------------- + /** provides access to the <type>LayoutManager</type> of the frame. + */ + [optional, property] com::sun::star::uno::XInterface LayoutManager; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/FrameAction.idl b/offapi/com/sun/star/frame/FrameAction.idl new file mode 100644 index 000000000000..e9c130923821 --- /dev/null +++ b/offapi/com/sun/star/frame/FrameAction.idl @@ -0,0 +1,154 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: FrameAction.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_FrameAction_idl__ +#define __com_sun_star_frame_FrameAction_idl__ + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** these are the events which can happen to the components in frames + of the desktop + + <p> + Interest listener can get informations about loaded/realoed or unloaded + components into a <type>Frame</type>. + </p> + + @see XFrame + @see XFrameActionListener + @see FrameActionEvent + */ +published enum FrameAction +{ + //------------------------------------------------------------------------- + /** an event of this kind is broadcast whenever a component is + attached to a frame + + <p> + This is almost the same as the instantiation of the component + within that frame. The component is attached to the frame + immediately before this event is broadcast. + </p> + + @see XFrame::setComponent() + */ + COMPONENT_ATTACHED, + + //------------------------------------------------------------------------- + /** an event of this kind is broadcast whenever a component is + detaching from a frame + + <p> + This is quite the same as the destruction of the component + which was in that frame. At the moment when the event is broadcast + the component is still attached to the frame but in the next + moment it won't. + </p> + + @see XFrame::setComponent() + */ + COMPONENT_DETACHING, + + //------------------------------------------------------------------------- + /** an event of this kind is broadcast whenever a component is + attached to a new model. + + <p> + In this case the component remains the same but operates + on a new model component. + </p> + */ + COMPONENT_REATTACHED, + + //------------------------------------------------------------------------- + /** an event of this kind is broadcast whenever a component gets + activated + + <p> + Activations are broacast from the top component which was + not active before, down to the inner most component. + </p> + + @see XFrame::activate() + */ + FRAME_ACTIVATED, + + //------------------------------------------------------------------------- + /** an event of this kind is broadcasted immediately before the + component is deactivated + + <p> + Deactivations are broadcast from the innermost component which + does not stay active up to the outer most component which does not + stay active. + </p> + + @see XFrame::deactivate() + */ + FRAME_DEACTIVATING, + + //------------------------------------------------------------------------- + /** an event of this kind is broadcast whenever a component changes + its internal context (i.e., the selection). + + <p> + If the activation status within a frame changes, this counts as + a context change too. + </p> + + @see XFrame::contextChanged() + */ + CONTEXT_CHANGED, + + //------------------------------------------------------------------------- + /** an event of this kind is broadcast by an active frame when it + is getting UI control (tool control). + + @see XFrame::activate() + */ + FRAME_UI_ACTIVATED, + + //------------------------------------------------------------------------- + /** an event of this kind is broadcast by an active frame when it + is losing UI control (tool control). + + @see XFrame::deactivate() + */ + FRAME_UI_DEACTIVATING +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/FrameActionEvent.idl b/offapi/com/sun/star/frame/FrameActionEvent.idl new file mode 100644 index 000000000000..6043b5e2306f --- /dev/null +++ b/offapi/com/sun/star/frame/FrameActionEvent.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: FrameActionEvent.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_FrameActionEvent_idl__ +#define __com_sun_star_frame_FrameActionEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +#ifndef __com_sun_star_frame_XFrame_idl__ +#include <com/sun/star/frame/XFrame.idl> +#endif + +#ifndef __com_sun_star_frame_FrameAction_idl__ +#include <com/sun/star/frame/FrameAction.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** this event struct is broadcast for actions which can happen to + components within frames + + @see XFrameActionListener + */ +published struct FrameActionEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + /** contains the frame in which the event occured + */ + XFrame Frame; + + //------------------------------------------------------------------------- + /** specifies the concrete event + */ + FrameAction Action; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/FrameControl.idl b/offapi/com/sun/star/frame/FrameControl.idl new file mode 100644 index 000000000000..7ab327d01713 --- /dev/null +++ b/offapi/com/sun/star/frame/FrameControl.idl @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: FrameControl.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_FrameControl_idl__ +#define __com_sun_star_frame_FrameControl_idl__ + +#ifndef __com_sun_star_awt_UnoControl_idl__ +#include <com/sun/star/awt/UnoControl.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** contains a frame with a desktop component + + <p> + If the control is visible and has a valid (loadable) component URL, + then the <member>FrameControl::Frame</member> property is set. + Normaly this control can be used for preview functionality inside + any UI. + </p> + */ +published service FrameControl +{ + //------------------------------------------------------------------------- + /** the base service of all controls + */ + service com::sun::star::awt::UnoControl; + + //------------------------------------------------------------------------- + /** contains the type of the component which is loaded into the frame, + or the document which implicitly specifies the type + */ + [property] string ComponentUrl; + + //------------------------------------------------------------------------- + /** the frame held by this control + + <p> + The <type>Frame</type> is created if the control + is shown and the <member>ComponentUrl</member> is set. + </p> + */ + [property, readonly] string Frame; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/FrameLoader.idl b/offapi/com/sun/star/frame/FrameLoader.idl new file mode 100644 index 000000000000..00ca6855ba30 --- /dev/null +++ b/offapi/com/sun/star/frame/FrameLoader.idl @@ -0,0 +1,102 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: FrameLoader.idl,v $ + * $Revision: 1.11 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_FrameLoader_idl__ +#define __com_sun_star_frame_FrameLoader_idl__ + +#ifndef __com_sun_star_frame_XFrameLoader_idl__ +#include <com/sun/star/frame/XFrameLoader.idl> +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_container_XNamed_idl__ +#include <com/sun/star/container/XNamed.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** derivations of this abstract service are used to load components + into <type>Frame</type>s of the environment + + <p> + Concrete implementations of this service register, for example, + for file name extensions or MIME types to load appropriate + components. The components loaded are at least <type>Controller</type>. + Instead of <type>SynchronousFrameLoader</type> this one use asynchronous + processes to load the component. + </p> + + @see SynchronousFrameLoader + */ +published service FrameLoader +{ + //------------------------------------------------------------------------- + /** support asynchronous loading of the component + */ + interface XFrameLoader; + + //------------------------------------------------------------------------- + /** support initialization of loader with its own configuration! + + <p> + Concrete implementations should use it to get her own configuration data + directly after creation by the <type>FrameLoaderFactory</type>. + Otherwhise they must use normal configuration api to do so. + </p> + */ + [optional] interface com::sun::star::lang::XInitialization; + + //------------------------------------------------------------------------- + /** provides access to the internal name of this frame loader + + <p> + The internal name is a part of his configuration and will be passed by + the <type>FrameLoaderFactory</type> after creation + if optional interface <type scope="com::sun::star::lang">XInitialization</type> + is supported. Value of function <member scope="com::sun::star::container">XNamed::getName()</member> + can be used on service <type>FrameLoaderFactory</type> to get further informations about this loader. + Setting of this name by calling <member scope="com::sun::star::container">XNamed::setName()</member> + must be forwarded to same factory service. He should decide, if it's allowed or not. + The reason: prevent code against name ambigities. + </p> + */ + [optional] interface com::sun::star::container::XNamed; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/FrameLoaderFactory.idl b/offapi/com/sun/star/frame/FrameLoaderFactory.idl new file mode 100644 index 000000000000..6d768e35c8c1 --- /dev/null +++ b/offapi/com/sun/star/frame/FrameLoaderFactory.idl @@ -0,0 +1,113 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: FrameLoaderFactory.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_FrameLoaderFactory_idl__ +#define __com_sun_star_frame_FrameLoaderFactory_idl__ + +#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#endif + +#ifndef __com_sun_star_container_XNameAccess_idl__ +#include <com/sun/star/container/XNameAccess.idl> +#endif + +#ifndef __com_sun_star_container_XContainerQuery_idl__ +#include <com/sun/star/container/XContainerQuery.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** factory to create frame loader + + <p> + With this factory it's possible to + <ul> + <li>have access on configuration of set of registered frame laoder objects</li> + <li>create a frame laoder by his internal name</li> + <li>query for a frame laoder by using special query or property description.</li> + </ul> + </p> + */ +published service FrameLoaderFactory +{ + //------------------------------------------------------------------------- + /** interface to create loader objects by using his internal name + + <p> + Returned objects must support the service specification of a <type>FrameLoader</type> + or <type>SynchronousFrameLoader</type>. (Note: last one will be prefered if both ones + are available) + They can be created by using of his internal name, which must be unambigous everytime, only. + To get this name use further specified interfaces of this factory for access on + the flat configuration. + </p> + */ + interface com::sun::star::lang::XMultiServiceFactory; + + //------------------------------------------------------------------------- + /** provides access to the whole frame loader configuration + + <p>This interface supports an access to the internal configuration of all accessible loader objects. + The return value of <member scope="com::sun::star::container">XNameAccess::getByName()</member> + is a property sequence packed in an any. </p> + <table border=1> + <tr> + <td><b>Types<b></td> + <td>[string]</td> + <td>file types which loader is registered for</td> + </tr> + <tr> + <td><b>UIName<b></td> + <td>[string]</td> + <td>UI representable and localized name</td> + </tr> + </table> + */ + interface com::sun::star::container::XNameAccess; + + //------------------------------------------------------------------------- + /** supports query mode for configuration access + + <p> + This interface can be used to get sub sets of current configuration entries + which represent given search parameters. + </p> + */ + interface com::sun::star::container::XContainerQuery; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/FrameSearchFlag.idl b/offapi/com/sun/star/frame/FrameSearchFlag.idl new file mode 100644 index 000000000000..14e79caf600c --- /dev/null +++ b/offapi/com/sun/star/frame/FrameSearchFlag.idl @@ -0,0 +1,133 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: FrameSearchFlag.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_FrameSearchFlag_idl__ +#define __com_sun_star_frame_FrameSearchFlag_idl__ + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** these types describe the algorithm to be used to search a frame + + <p> + Such flags will be used on methods <member>XFrame::findFrame()</member>, + <member>XDispatchProvider::queryDispatch()</member> or + <member>XComponentLoader::loadComponentFromURL()</member> if no special target + frame name (e.g. "_blank", "_self") is used. + </p> + + @see XFrame::findFrame() + @see XDispatchProvider::queryDispatch() + @see XComponentLoader::loadComponentFromURL() + */ +published constants FrameSearchFlag +{ + //------------------------------------------------------------------------- + /** no longer supported + + <p> + Using of this flag will do nothing. Use right combination of other flags + instead of this one. + </p> + + @deprecated + */ + const long AUTO = 0; + + //------------------------------------------------------------------------- + /** allows search on the parent frames + */ + const long PARENT = 1; + + //------------------------------------------------------------------------- + /** includes the start frame himself + */ + const long SELF = 2; + + //------------------------------------------------------------------------- + /** includes all child frames of the start frame + + <p> + Note: That means all direct children and of course her childrens too. + Search doesn't stop at the next level inside the tree! + </p> + */ + const long CHILDREN = 4; + + //------------------------------------------------------------------------- + /** frame will be created if not found + */ + const long CREATE = 8; + + //------------------------------------------------------------------------- + /** includes the direct siblings of the start frame + + <p> + Normaly it's interpreted as search on the direct childs of the parent + only. But in combination with e.g. the CHILDREN flag it can include all + children of it too. + </p> + */ + const long SIBLINGS = 16; + + //------------------------------------------------------------------------- + /** allow the search outside the current sub task tree of the whole possible frame tree + + <p> + If this flag isn't present, any search from bottom to top has to stop, if a top frame + will be reached. It doesn't influence a search from top to bottom. + But it can be used at the root of the frame tree to search on direct childrens of it only. + Because the direct children of the root node are the root's of the task sub trees, which + are top frames too. Instead of using the CHILDREN flag there, it's possible so to supress + a deeper search so. + </p> + */ + const long TASKS = 32; + + //------------------------------------------------------------------------- + /** includes all frames except frames in other tasks sub trees + but doesn't create any new frame + */ + const long ALL = 23; + + //------------------------------------------------------------------------- + /** searches in the whole hierarchy of frames + but doesn't create any new frame + */ + const long GLOBAL = 55; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/FramesContainer.idl b/offapi/com/sun/star/frame/FramesContainer.idl new file mode 100644 index 000000000000..19d38bcce2aa --- /dev/null +++ b/offapi/com/sun/star/frame/FramesContainer.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: FramesContainer.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_FramesContainer_idl__ +#define __com_sun_star_frame_FramesContainer_idl__ + +#ifndef __com_sun_star_frame_XFrames_idl__ +#include <com/sun/star/frame/XFrames.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** this is a special container which can contain frames + + <p> + All elements in this container support the service frame. + Implementations of this service are available by interface + <type>XFramesSupplier</type>. + </p> + + @see XFramesSupplier + */ +published service FramesContainer +{ + //------------------------------------------------------------------------- + /** access to frame collection by reference + */ + interface XFrames; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl b/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl new file mode 100644 index 000000000000..b6048e1cda4f --- /dev/null +++ b/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: GlobalEventBroadcaster.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_GlobalEventBroadcaster_idl__ +#define __com_sun_star_frame_GlobalEventBroadcaster_idl__ + +#ifndef __com_sun_star_document_XEventBroadcaster_idl__ +#include <com/sun/star/document/XEventBroadcaster.idl> +#endif + +#ifndef __com_sun_star_document_XEventsSupplier_idl__ +#include <com/sun/star/document/XEventsSupplier.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** + This service offers the document event functionality that can be found at any + <type scope="com::sun::star::document">OfficeDocument</type>, but it does it for all existing documents. + So it is a single place where a listener can be registered for all events in all + documents. + */ + +service GlobalEventBroadcaster +{ + /** makes it possible to register listeners which are called whenever + a document event occurs in any document + */ + interface ::com::sun::star::document::XEventsSupplier; + + /** access to bound event handlers + */ + interface ::com::sun::star::document::XEventBroadcaster; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/IllegalArgumentIOException.idl b/offapi/com/sun/star/frame/IllegalArgumentIOException.idl new file mode 100644 index 000000000000..559dc7fcacdd --- /dev/null +++ b/offapi/com/sun/star/frame/IllegalArgumentIOException.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: IllegalArgumentIOException.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_TerminationVetoException_idl__ +#define __com_sun_star_frame_TerminationVetoException_idl__ + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::frame::IllegalArgumentIOException +/** This exception can be thrown in case arguments are wrong. + + @since OOo 1.1.2 + */ +published exception IllegalArgumentIOException: com::sun::star::io::IOException +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/LayoutManager.idl b/offapi/com/sun/star/frame/LayoutManager.idl new file mode 100644 index 000000000000..5734e8764fee --- /dev/null +++ b/offapi/com/sun/star/frame/LayoutManager.idl @@ -0,0 +1,135 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: LayoutManager.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_LayoutManager_idl__ +#define __com_sun_star_frame_LayoutManager_idl__ + +#ifndef __com_sun_star_frame_XLayoutManager_idl__ +#include <com/sun/star/frame/XLayoutManager.idl> +#endif + +#ifndef __com_sun_star_frame_XFrameActionListener_idl__ +#include <com/sun/star/frame/XFrameActionListener.idl> +#endif + +#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__ +#include <com/sun/star/ui/XUIConfigurationListener.idl> +#endif + +#ifndef __com_sun_star_frame_XInplaceLayout_idl__ +#include <com/sun/star/frame/XInplaceLayout.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +#ifndef __com_sun_star_frame_XMenuBarMergingAcceptor_idl__ +#include <com/sun/star/frame/XMenuBarMergingAcceptor.idl> +#endif + +#ifndef __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__ +#include <com/sun/star/frame/XLayoutManagerEventBroadcaster.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** controls the layout of user interface elements which are part of a frame. + + <p> + Layout management is the process of determining the size and position of + user interface elements. By default, each <type>Frame</type> has a layout + manager -- it performs layout management for the user interface elements + within the frame. User interface elements can provide size and alignment + hints to layout managers, but layout managers have the final decision on + the size and position of those user interface elements. + </p> + + @since OOo 2.0.0 +*/ + +service LayoutManager +{ + /** central interface to query for, create, destroy and manipulate user + interface elements which are bound to a frame. + + @see ::com::sun::star::frame::XLayoutManager; + */ + interface ::com::sun::star::frame::XLayoutManager; + + /** notification interface to receive status information about the state + of the connected frame. + + <p> + E.g., you can receive events of instantiation/destruction and + activation/deactivation of a frame. + </p> + + @see XFrame::addFrameActionListener() + @see XFrame::removeFrameActionListener() + */ + interface ::com::sun::star::frame::XFrameActionListener; + + /** notification interface to receive change messages of user interface + elements which are part of the layout manager. + + <p> + E.g., you can receive events of insertion/replacing and + removing of settings data of user interface elements. + </p> + + @see com::sun::star::ui::XUIConfiguration + */ + interface ::com::sun::star::ui::XUIConfigurationListener; + + /** provides functions to merge menus for inplace editing of components + inside OpenOffice.org. + */ + interface ::com::sun::star::frame::XMenuBarMergingAcceptor; + + /** registers listeners that want to receive layout manager + events. + */ + [optional] interface ::com::sun::star::frame::XLayoutManagerEventBroadcaster; + + /** interface to support settings a menu bar for inplace editing of + components inside OpenOffice.org. + + @deprecated + */ + [optional] interface ::com::sun::star::frame::XInplaceLayout; +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/LayoutManagerEvents.idl b/offapi/com/sun/star/frame/LayoutManagerEvents.idl new file mode 100644 index 000000000000..4d9d8f31525e --- /dev/null +++ b/offapi/com/sun/star/frame/LayoutManagerEvents.idl @@ -0,0 +1,136 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: LayoutManagerEvents.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_LayoutManagerEvents_idl__ +#define __com_sun_star_frame_LayoutManagerEvents_idl__ + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** provides information about layout manager events + + <p>Events are provided <strong>only</strong> for notification + purposes only.</p> + + @see com::sun::star::frame::LayoutManager + @see com::sun::star::frame::XLayoutManagerEventBroadcaster + + @since OOo 2.0.0 + */ +constants LayoutManagerEvents +{ + //------------------------------------------------------------------------- + /** specifies that the layout manager processed a lock call, which + prevents it from doing layouts. + + <p> + This event sends the current lock count as additional + information. + </p> + */ + const short LOCK = 0; + + //------------------------------------------------------------------------- + /** specifies that the layout manager processed an unlock call, which + admit layouts when the lock count is zero. + + <p> + This event sends the current lock count as additional + information. + </p> + */ + const short UNLOCK = 1; + + //------------------------------------------------------------------------- + /** specifies that the layout manager refreshed the layout of + the frame. + + <p> + This event sends no additional information. + </p> + */ + const short LAYOUT = 2; + + //------------------------------------------------------------------------- + /** specifies that the layout manager container frame window + becomes visible. + + <p> + This event sends no additional information. + </p> + */ + const short VISIBLE = 3; + + //------------------------------------------------------------------------- + /** specifies that the layout manager container frame window + becomes invisible. + + <p> + This event sends no additional information. + </p> + */ + const short INVISIBLE = 4; + + //------------------------------------------------------------------------- + /** A merged menu bar has been set at the layout manager. + + <p> + This event sends no additional information. + </p> + */ + const short MERGEDMENUBAR = 5; + + //------------------------------------------------------------------------- + /** specifies that a certain user interface element has been made + visible + + <p> + This event sends the resource url of the newly visible user + interface element. + </p> + */ + const short UIELEMENT_VISIBLE = 6; + + //------------------------------------------------------------------------- + /** specifies that a certain user interface element has been made + invisible + + <p> + This event sends the resource url of the invisible user + interface element. + </p> + */ + const short UIELEMENT_INVISIBLE = 7; +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl b/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl new file mode 100644 index 000000000000..49d72fc88de5 --- /dev/null +++ b/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: MediaTypeDetectionHelper.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_MediaTypeDetectionHelper_idl__ +#define __com_sun_star_frame_MediaTypeDetectionHelper_idl__ + +#ifndef __com_sun_star_util_XStringMapping_idl__ +#include <com/sun/star/util/XStringMapping.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** provides for mapping a given sequence of content identifier strings + to a sequence of respective media (mime) types + */ +published service MediaTypeDetectionHelper +{ + //------------------------------------------------------------------------- + /** provides a mapping from <atom>string<atom> to <atom>string<atom> + + <p> + Order of given and their returned coressponding strings is important. + Don't pack or optimize it. Every item of [in] list must match + to an item of [out] list. + </p> + */ + interface com::sun::star::util::XStringMapping; +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/frame/ModuleManager.idl b/offapi/com/sun/star/frame/ModuleManager.idl new file mode 100644 index 000000000000..6b0138b88445 --- /dev/null +++ b/offapi/com/sun/star/frame/ModuleManager.idl @@ -0,0 +1,81 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ModuleManager.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_ModuleManager_idl__ +#define __com_sun_star_frame_ModuleManager_idl__ + +#ifndef __com_sun_star_frame_XModuleManager_idl__ +#include <com/sun/star/frame/XModuleManager.idl> +#endif + +#ifndef __com_sun_star_container_XNameAccess_idl__ +#include <com/sun/star/container/XNameAccess.idl> +#endif + +//=============================================== + +module com { module sun { module star { module frame { + +//=============================================== +/** can be used to identify office modules. + + <p> + Further it provides read access to the configuration + of office modules. + </p> + + @since OOo 2.0.0 + */ + +service ModuleManager +{ + //------------------------------------------- + /** provides functions to identify office modules. + */ + interface XModuleManager; + + //------------------------------------------- + /** provides read access to the configuration of office modules. + + <p> + Every module is referenced by an unique service name + (which is used inside configuration as set node name too) + and is further represented by a sequence of elements of type + <type scope="com::sun::star::beans">PropertyValue</type>. + A list of properties can be getted from the configuration template + org.openoffice.Setup/Factory. + </p> + */ + interface ::com::sun::star::container::XNameAccess; +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/PopupMenuController.idl b/offapi/com/sun/star/frame/PopupMenuController.idl new file mode 100644 index 000000000000..2cbfdf927172 --- /dev/null +++ b/offapi/com/sun/star/frame/PopupMenuController.idl @@ -0,0 +1,156 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PopupMenuController.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_PopupMenuController_idl__ +#define __com_sun_star_frame_PopupMenuController_idl__ + +#ifndef __com_sun_star_frame_XPopupMenuController_idl__ +#include <com/sun/star/frame/XPopupMenuController.idl> +#endif + +#ifndef _com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_frame_XStatusListener_idl__ +#include <com/sun/star/frame/XStatusListener.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchProvider_idl__ +#include <com/sun/star/frame/XDispatchProvider.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** provides access to a popup menu controller. + + <p> + A popup menu controller is used to make special functions available to + users, which depend on runtime or context specific conditions.<br/> + A typical example for a popup menu controller can be a recent file list + implementation which provides a list of latest files that a user has + worked on. This list gets changes consistently during a work session. + </p> + + @since OOo 2.0.0 +*/ + +service PopupMenuController +{ + //------------------------------------------------------------------------- + /** supports functions to initialize and update a popup menu controller + implementation. + + <p> + A popup menu controller implementation gets initialized with a + <type scope="com::sun::star::awt">XPopupMenu</type> object. This assures + that a popup menu controller can be implemented with any UNO based + language. + </p> + */ + interface com::sun::star::frame::XPopupMenuController; + + //------------------------------------------------------------------------- + /** provides functions to initialize a popup menu controller with + specific data which are needed. + + <p> + This interface should not directly used. A factory service is responsible to + initialize every controller correctly.<br/> + + A popup menu controller needs at least two additional arguments + provided as <type scope="com::sun::star::beans">PropertyValue</type>: + <ul> + <li><b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type> + instance to which the popup menu controller belongs to.</li> + <li><b>CommandURL</b><br>specifies which popup menu controller should be created.</li> + </ul> + </p> + + @see PopupMenuControllerFactory + */ + interface com::sun::star::lang::XInitialization; + + //------------------------------------------------------------------------- + /** used to brief the popup menu controller with new status information. + + <p> + A popup menu controller makes special functions available to users which + normally depend on the state of other data. This interface is used to + send this data to a controller implementation. + </p> + */ + interface com::sun::star::frame::XStatusListener; + + //------------------------------------------------------------------------- + /** used to query for commands supported by the popup menu controller to + execute them directly. + + <p> + A popup menu controller provides special functions which should be + available by the normal dispatch API. This optional interface enables + popup menu controller to be normal dispatch providers.<br/> + <b>Attention:</b><br/> + Popup menu controller functions must be specified using the following + the dispatch URL scheme: "vnd.sun.star.popup:" opaque_part [ "?" query ]. + </p> + + @since OOo 2.2 + */ + [optional] interface com::sun::star::frame::XDispatchProvider; + + //------------------------------------------------------------------------- + /** used to dispose popup menu controller by the owner instance. + + <p> + A popup menu controller resides in a menu which has a limited + life-time. For correct life-time handling a popup menu + controller should support this interface. + </p> + + @since OOo 2.2 + */ + [optional] interface com::sun::star::lang::XComponent; +}; + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl new file mode 100644 index 000000000000..067df2684863 --- /dev/null +++ b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl @@ -0,0 +1,88 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PopupMenuControllerFactory.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_PopupMenuControllerFactory_idl__ +#define __com_sun_star_frame_PopupMenuControllerFactory_idl__ + +#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__ +#include <com/sun/star/lang/XMultiComponentFactory.idl> +#endif + +#ifndef __com_sun_star_frame_XUIControllerRegistration_idl__ +#include <com/sun/star/frame/XUIControllerRegistration.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** specifies a factory that creates instances of registered popup menu controller. + + <p> + A popup menu controller can be registered for a command URL and a model service name. + A menu bar or context menu will automatically create a popup menu controller if + it contains a registered command URL. + </p> + + @since OOo 2.0.0 +*/ + +service PopupMenuControllerFactory +{ + /** this interface provides functions to create new instances of a registered popup menu controller. + + <p> + Use <member scope="com.sun.star.lang">XMultiComponentFactory::createInstanceWithArguments()</member> to create + a new popup menu controller instance. Use the CommandURL as the service specifier. + + This call supports the following arguments provided as <type scope="com::sun::star::beans">PropertyValue</type>: + <ul> + <li><b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type> + instance to which the popup menu controller belongs to. This property must be provided to + the popup menu controller, otherwise it cannot dispatch its internal commands.</li> + <li><b>ModuleIdentifier</b><br>optional string that specifies in which module context the popup menu + controller should be created.</li> + </ul> + </p> + */ + interface com::sun::star::lang::XMultiComponentFactory; + + /** provides functions to query for, register and deregister a popup menu controller. + */ + interface com::sun::star::frame::XUIControllerRegistration; +}; + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/frame/ProtocolHandler.idl b/offapi/com/sun/star/frame/ProtocolHandler.idl new file mode 100644 index 000000000000..aeca321392c7 --- /dev/null +++ b/offapi/com/sun/star/frame/ProtocolHandler.idl @@ -0,0 +1,100 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ProtocolHandler.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_ProtocolHandler_idl__ +#define __com_sun_star_frame_ProtocolHandler_idl__ + +#ifndef __com_sun_star_frame_XDispatchProvider_idl__ +#include <com/sun/star/frame/XDispatchProvider.idl> +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** special dispatch provider registered for URL protocols + + <p> + The generic dispatch mechanism on a <type>Frame</type> + search for such registered protocol handler and use it if it agrees with + the dispatched URL. + </p> + + <p> + Supported URLs must match follow format: <protocol scheme>:<protocol specific part> + If a handler provides optional arguments ("?") or jump marks ("#") depends from his + defintion and implementation. The generic dispatch provider will use registered + URL pattern to detect right handler. + </p> + */ +published service ProtocolHandler +{ + //------------------------------------------------------------------------- + /** used from the generic dispatch mechanism of the frame, to ask ProtocolHandler + for his agreement for the dispatched URL + + <p> + Such asked handler can agree by returning itself or a special sub dispatch object, which + can handle the given URL. Of course he can disagree with it by returning an empty reference. + </p> + */ + interface XDispatchProvider; + + //------------------------------------------------------------------------- + /** initialize the new handler instance with some context informations + + <p> + Sometimes it can be usefull for a handler object, to know something about the + environment, in which it runs - especily the frame. For this case the generic + code (which uses the handler) will ask for this optional interface and use it, if it exist. + Following parameters are passed to the service: + <ul> + <li>sequence< any >[0] => the frame for which this ProtocolHandler was created [com.sun.star.frame.XFrame]</li> + </ul> + </p> + + <p> + Please note: if this mechanism is used it seams not usefull (nor possible) to implement a ProtocolHandler + as a singleton. Otherwhise the implementation can't distinguish between different environments + and her corresponding dispatch requests. + </p> + */ + [optional] interface ::com::sun::star::lang::XInitialization; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/SessionManager.idl b/offapi/com/sun/star/frame/SessionManager.idl new file mode 100644 index 000000000000..7abd162e508b --- /dev/null +++ b/offapi/com/sun/star/frame/SessionManager.idl @@ -0,0 +1,87 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: SessionManager.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_SessionManager_idl__ +#define __com_sun_star_frame_SessionManager_idl__ + +#ifndef __com_sun_star_frame_XSessionManagerClient_idl__ +#include <com/sun/star/frame/XSessionManagerClient.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** The SessionManager service provides an interface to the session manager + of the desktop. A session manager keeps track of applications that are + running when the desktop shuts down and starts them again in the same + state they were left when the desktop starts up the next time. To be able + to do this the session manager needs cooperation from applications; + applications have to provide sufficient information to be started again as + well as restore the state they were left in. The normal flow of operation + looks like this: + + <ol> + <li>The user starts the desktop shutdown.</li> + <li>The session manager informs all its connected applications + about the pending shutdown.</li> + <li>Each application saves its current state; while doing this it may + <ul> + <li>The application may request to interact with the user (e.g. to ask + where to save documents). This request is necessary because at any one + time only one application can iteract with the user. The session manager + coordinates these requests and grants every application in need of user + interaction a timeslot in which it may interact with the user</li> + <li>try to cancel the whole shutdown; the session manager may or may + not honor that request.</li> + </ul> + </li> + <li>After saving is done the session manager signals all applications + to exit.</li> + <li>Applications answer the exit message by disconnecting from the + session manager.</li> + <li>After all applications have exited or a reasonable timeout the + session manager kills all remaining applications and finally lets the + desktop shut down.</li> +*/ +service SessionManager +{ + /** XSessionManagerClient (of which there can only be one instance per + process) provides an application's interface to the session manager. + It keeps track of every listener inside the application and multiplexes + the session manager's signals as well as requests to the session manager. + */ + interface XSessionManagerClient; + +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/Settings.idl b/offapi/com/sun/star/frame/Settings.idl new file mode 100644 index 000000000000..e54c7ba4476f --- /dev/null +++ b/offapi/com/sun/star/frame/Settings.idl @@ -0,0 +1,53 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: Settings.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_Settings_idl__ +#define __com_sun_star_frame_Settings_idl__ + +#ifndef __com_sun_star_container_XNameAccess_idl__ +#include <com/sun/star/container/XNameAccess.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** @deprecated + */ +published service Settings +{ + interface com::sun::star::container::XNameAccess; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/StatusbarController.idl b/offapi/com/sun/star/frame/StatusbarController.idl new file mode 100644 index 000000000000..7fc4572cfce5 --- /dev/null +++ b/offapi/com/sun/star/frame/StatusbarController.idl @@ -0,0 +1,145 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: StatusbarController.idl,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_StatusbarController_idl__ +#define __com_sun_star_frame_StatusbarController_idl__ + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_util_XUpdatable_idl__ +#include <com/sun/star/util/XUpdatable.idl> +#endif + +#ifndef __com_sun_star_frame_XStatusListener_idl__ +#include <com/sun/star/frame/XStatusListener.idl> +#endif + +#ifndef __com_sun_star_frame_XStatusbarController_idl__ +#include <com/sun/star/frame/XStatusbarController.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** is an abstract service for a component which offers a more complex user + interface to users within a status bar. + + <p> + A generic status bar function is represented as a text field which + provides status information to the user. A status bar controller can be + added to a status bar and provides information or functions with a more + sophisticated user interface.<br/> + A typical example for a status bar controller is the zoom level chooser + within the statusbar. It provides an option to change the zoom level of + an application. + <p> + + @see com::sun::star::frame::XDispatchProvider + @see com::sun::star::frame::XStatusbarController + + @since OOo 2.0.0 + */ + +service StatusbarController +{ + //------------------------------------------------------------------------- + /** with this interface a component can receive events if a feature has + changed. + + <p> + The status bar controller implementation should register itself as a + listener when its <member scope="com::sun::star::util">XUpdatable</member> + interface has been called. + </p> + */ + interface com::sun::star::frame::XStatusListener; + + /** used to initialize a component with required arguments. + + <b>A status bar controller needs at least three additional arguments + provided as <type scope="com::sun::star::beans">PropertyValue</type>: + <ul> + <li><b>Frame</b><br>a + <type scope="com::sun::star::frame">XFrame</type> instance + to which the status bar controller belongs.</li> + <li><b>CommandURL</b><br>a string which specifies the command + associated with the statusbar controller. The command is + used to identify the status bar controller + implementation.</li> + <li><b>ServiceManager</b><br>a <type scope="com::sun::star::lang"> + XMultiServiceFactory</type> instance which can be used to + create additional UNO services.</li> + <li><b>Parent</b><br>a <type scope="com::sun::star::awt">Window</type> + instance which represents the parent window (status bar + window).</li> + <li><b>Identifier</b><br>an integer value which is the unique id + used by the status bar implementation to identify a status + bar entry. This value is currently only used by internal + OpenOffice.org status bar controller implementations.</li> + </ul> + */ + interface com::sun::star::lang::XInitialization; + + /** used to notify an implementation that it needs to add its listener or + remove and add them again. + + <p> + A status bar controller instance is ready for use after this call has + been made the first time. The status bar implementation guarentees that + the controller's item window has been added to the status bar and its + reference is held by it. + </p> + */ + interface com::sun::star::util::XUpdatable; + + //------------------------------------------------------------------------- + /** used to notify changed features and requests for additional user + interface items. + + <p> + Mostly used by a status bar implementation to forward information to + and request services from a status bar controller component. This + interface must be useable after + <member scope="com::sun::star::lang">XInitialitation::initialize</member> + has been called. The behavior of the interface is undefined if the + controller component hasn't been initialized. + </p> + */ + interface com::sun::star::frame::XStatusbarController; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/StatusbarControllerFactory.idl b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl new file mode 100644 index 000000000000..3ebee0595574 --- /dev/null +++ b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl @@ -0,0 +1,94 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: StatusbarControllerFactory.idl,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_StatusbarControllerFactory_idl__ +#define __com_sun_star_frame_StatusbarControllerFactory_idl__ + +#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__ +#include <com/sun/star/lang/XMultiComponentFactory.idl> +#endif + +#ifndef __com_sun_star_frame_XUIControllerRegistration_idl__ +#include <com/sun/star/frame/XUIControllerRegistration.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** specifies a factory that creates instances of registered status bar + controller. + + <p> + A status bar controller can be registered for a command URL and a model + service name. A status bar will automatically create a status bar controller + if it contains a registered command URL. + </p> + + @since OOo 2.0.0 +*/ + +service StatusbarControllerFactory +{ + /** this interface provides functions to create new instances of a registered + status bar controller. + + <p> + Use <member scope="com.sun.star.lang">XMultiComponentFactory::createInstanceWithArguments()</member> + to create a new status bar controller instance. Use the CommandURL as the + service specifier. + + This call supports the following arguments provided as + <type scope="com::sun::star::beans">PropertyValue</type>: + <ul> + <li><b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type> + instance to which the status bar controller belongs to. This + property must be provided to the status bar controller, otherwise it + cannot dispatch its internal commands.</li> + <li><b>ModuleIdentifier</b><br>optional string that specifies in which module + context the status bar controller should be created.</li> + </ul> + </p> + */ + interface com::sun::star::lang::XMultiComponentFactory; + + /** provides functions to query for, register and deregister a status bar + controller. + */ + interface com::sun::star::frame::XUIControllerRegistration; +}; + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/frame/SynchronousFrameLoader.idl b/offapi/com/sun/star/frame/SynchronousFrameLoader.idl new file mode 100644 index 000000000000..aea3af8694aa --- /dev/null +++ b/offapi/com/sun/star/frame/SynchronousFrameLoader.idl @@ -0,0 +1,102 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: SynchronousFrameLoader.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_SynchronousFrameLoader_idl__ +#define __com_sun_star_frame_SynchronousFrameLoader_idl__ + +#ifndef __com_sun_star_frame_XSynchronousFrameLoader_idl__ +#include <com/sun/star/frame/XSynchronousFrameLoader.idl> +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_container_XNamed_idl__ +#include <com/sun/star/container/XNamed.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** derivations of this abstract service are used to load components + into <type>Frame</type>s of the environment + + <p> + Concrete implementations of this service register, for example, + for file name extensions or MIME types to load appropriate + components. The components loaded are at least <type>Controller</type>. + Instead of service <type>FrameLoader</type> this one use synchronous + processes to load the component. + </p> + + @see FrameLoader + */ +published service SynchronousFrameLoader +{ + //------------------------------------------------------------------------- + /** support synchronous loading of component + */ + interface XSynchronousFrameLoader; + + //------------------------------------------------------------------------- + /** support initialization of loader with its own configuration! + + <p> + Concrete implementations should use it to get her own configuration data + directly after creation by the <type>FrameLoaderFactory</type>. + Otherwhise they must use normal configuration api to do so. + </p> + */ + [optional] interface com::sun::star::lang::XInitialization; + + //------------------------------------------------------------------------- + /** provides access to the internal name of this frame loader + + <p> + The internal name is a part of his configuration and will be passed by + the <type>FrameLoaderFactory</type> after creation + if optional interface <type scope="com::sun::star::lang">XInitialization</type> + is supported. Value of function <member scope="com::sun::star::container">XNamed::getName()</member> can be + used on service <type>FrameLoaderFactory</type> to get further informations about this loader. + Setting of this name by calling <member scope="com::sun::star::container">XNamed::setName()</member> must be + forwarded to same factory service. He should decide, if it's allowed or not. + The reason: prevent code against name ambigities. + </p> + */ + [optional] interface com::sun::star::container::XNamed; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/Task.idl b/offapi/com/sun/star/frame/Task.idl new file mode 100644 index 000000000000..a75611c3e6dc --- /dev/null +++ b/offapi/com/sun/star/frame/Task.idl @@ -0,0 +1,81 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: Task.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_Task_idl__ +#define __com_sun_star_frame_Task_idl__ + +#ifndef __com_sun_star_frame_XFrame_idl__ +#include <com/sun/star/frame/XFrame.idl> +#endif + +#ifndef __com_sun_star_frame_XTask_idl__ +#include <com/sun/star/frame/XTask.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** represents a top level frame in the frame hierarchy with the desktop as root + + <p> + Please use the service Frame instead of this deprecated Task. If it's + method <member>XFrame.isTop()</member> returns <TRUE/>, it's the same + as a check for the Task service. + </p> + + @see Frame + + @deprecated + + @since OOo 1.1.2 + */ +published service Task +{ + //------------------------------------------------------------------------- + /** + @deprecated + */ + interface XFrame; + + //------------------------------------------------------------------------- + /** + @deprecated + use <type scope="com::sun::star::util">XCloseable</type> instead. + + */ + interface XTask; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/TemplateAccess.idl b/offapi/com/sun/star/frame/TemplateAccess.idl new file mode 100644 index 000000000000..32fd31895a8e --- /dev/null +++ b/offapi/com/sun/star/frame/TemplateAccess.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: TemplateAccess.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_TemplateAccess_idl__ +#define __com_sun_star_frame_TemplateAccess_idl__ + +#ifndef __com_sun_star_lang_XLocalizable_idl__ +#include <com/sun/star/lang/XLocalizable.idl> +#endif + +#ifndef __com_sun_star_frame_XDocumentTemplates_idl__ +#include <com/sun/star/frame/XDocumentTemplates.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** provides a high level api to organize document templates + */ +published service TemplateAccess +{ + //------------------------------------------------------------------------- + /** used to organize document templates + */ + interface XDocumentTemplates; + + //------------------------------------------------------------------------- + /** provides selection of sets of localized templates + */ + interface com::sun::star::lang::XLocalizable; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/TerminationVetoException.idl b/offapi/com/sun/star/frame/TerminationVetoException.idl new file mode 100644 index 000000000000..bbd0661ac6be --- /dev/null +++ b/offapi/com/sun/star/frame/TerminationVetoException.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: TerminationVetoException.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_TerminationVetoException_idl__ +#define __com_sun_star_frame_TerminationVetoException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** can be thrown by a <type>XTerminateListener</type> to prevent the environment + (e.g., desktop) from terminating + + <p> + If a <type>XTerminateListener</type> use this exception for a veto against + the termination of the office, he will be the new "owner" of it. + After his own operation will be finished, he MUST try to terminate the + office again. Any other veto listener can intercept that again or office + will die realy. + </p> + + @see XDesktop::terminate() + @see XTerminateListener + */ +published exception TerminationVetoException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/TitleChangedEvent.idl b/offapi/com/sun/star/frame/TitleChangedEvent.idl new file mode 100644 index 000000000000..6ac9cfbd7628 --- /dev/null +++ b/offapi/com/sun/star/frame/TitleChangedEvent.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: TitleChangedEvent.idl,v $ + * + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_TitleChangedEvent_idl__ +#define __com_sun_star_frame_TitleChangedEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** todo document me + */ +struct TitleChangedEvent : com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + /** todo document me + */ + string Title; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/ToolbarController.idl b/offapi/com/sun/star/frame/ToolbarController.idl new file mode 100644 index 000000000000..6e05613ade1d --- /dev/null +++ b/offapi/com/sun/star/frame/ToolbarController.idl @@ -0,0 +1,149 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ToolbarController.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_ToolbarController_idl__ +#define __com_sun_star_frame_ToolbarController_idl__ + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_util_XUpdatable_idl__ +#include <com/sun/star/util/XUpdatable.idl> +#endif + +#ifndef __com_sun_star_frame_XStatusListener_idl__ +#include <com/sun/star/frame/XStatusListener.idl> +#endif + +#ifndef __com_sun_star_frame_XToolbarController_idl__ +#include <com/sun/star/frame/XToolbarController.idl> +#endif + +#ifndef __com_sun_star_frame_XSubToolbarController_idl__ +#include <com/sun/star/frame/XSubToolbarController.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** is an abstract service for a component which offers a more complex user + interface to users within a toolbar. + + <p> + A generic toolbar function is represented as a button which has a state + (enabled,disabled and selected, not selected). A toolbar controller can + be added to a toolbar and provide information or functions within a more + sophisticated user interface.<br/> A typical example for toolbar controller + is the font chooser within the toolbar. It provides all available fonts in + a dropdown box and shows the current chosen font. + <p> + + @see com::sun::star::frame::XDispatchProvider + + @since OOo 2.0.0 + */ + +service ToolbarController +{ + //------------------------------------------------------------------------- + /** with this interface a component can receive events if a feature has + changed. + + <p> + The toolbar controller implementation should register itself as a + listener when its <member scope="com::sun::star::util">XUpdatable</member> + interface has been called. + </p> + */ + interface com::sun::star::frame::XStatusListener; + + /** used to initialize a component with required arguments. + + A toolbar controller needs at least three additional arguments + provided as <type scope="com::sun::star::beans">PropertyValue</type>: + <ul> + <li><b>Frame</b><br>a <type scope="com::sun::star::frame">XFrame</type> + instance to which the toolbar controller belongs.</li> + <li><b>CommandURL</b><br>a string which specifies the command a + toolbar controller is bound.</li> + <li><b>ServiceManager</b><br>a + <type scope="com::sun::star::lang">XMultiServiceFactory</type> + instance which can be used to create additional UNO services.</li> + </ul> + */ + interface com::sun::star::lang::XInitialization; + + /** used to notify an implementation that it needs to add its listener or remove + and add them again. + + <p> + A toolbar controller instance is ready for use after this call has been made + the first time. The toolbar implementation guarentees that the controller's + item window has been added to the toolbar and its reference is held by it. + </p> + */ + interface com::sun::star::util::XUpdatable; + + //------------------------------------------------------------------------- + /** used to notify changed features and requests for additional user interface + items. + + <p> + Mostly used by a toolbar implementation to forward information to and request + services from a toolbar controller component. This interface must be useable + after <member scope="com::sun::star::lang">XInitialitation::initialize</member> + has been called. The behavior of the interface is undefined if the controller + component hasn't been initialized. + </p> + */ + interface com::sun::star::frame::XToolbarController; + + //------------------------------------------------------------------------- + /** used to notify and retrieve information that are specific for sub-toolbar + controllers. + + <p> + Used by implementations that want to provide the toolbar button/sub- + toolbar function feature. A controller supporting this interface exchanges + the function of its own toolbar button, that opened the sub-toolbar, with + the one that has been selected on the sub-toolbar. + </p> + */ + [optional] interface ::com::sun::star::frame::XSubToolbarController; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl new file mode 100644 index 000000000000..b16007175c58 --- /dev/null +++ b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: TransientDocumentsDocumentContentFactory.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_TransientDocumentsDocumentContentFactory_idl__ +#define __com_sun_star_frame_TransientDocumentsDocumentContentFactory_idl__ + +#ifndef __com_sun_star_frame_XTransientDocumentsDocumentContentFactory_idl__ +#include <com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** specifies a factory for + <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>s. + + @since OOo 2.0.0 +*/ +service TransientDocumentsDocumentContentFactory +{ + //------------------------------------------------------------------------- + /** a factory for <type>TransientDocumentsDocumentContent</type>s. + */ + interface com::sun::star::frame::XTransientDocumentsDocumentContentFactory; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/UnknownModuleException.idl b/offapi/com/sun/star/frame/UnknownModuleException.idl new file mode 100644 index 000000000000..f70c574b8e88 --- /dev/null +++ b/offapi/com/sun/star/frame/UnknownModuleException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: UnknownModuleException.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_UnknownModuleException_idl__ +#define __com_sun_star_frame_UnknownModuleException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//=============================================== + +module com { module sun { module star { module frame { + +//=============================================== +/** This exception can be thrown in case an office + * module could not be classified or does not have + * a valid configuration. + + @since OOo 2.0.0 + */ +exception UnknownModuleException : ::com::sun::star::uno::Exception +{ +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/WindowArrange.idl b/offapi/com/sun/star/frame/WindowArrange.idl new file mode 100644 index 000000000000..913df19d3e75 --- /dev/null +++ b/offapi/com/sun/star/frame/WindowArrange.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: WindowArrange.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_WindowArrange_idl__ +#define __com_sun_star_frame_WindowArrange_idl__ + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** these constants are used to specify a style of window arrangement + */ +published constants WindowArrange +{ + //------------------------------------------------------------------------- + /** arranges the windows in tiles + */ + const short TILE = 1; + + //------------------------------------------------------------------------- + /** arranges the windows vertically + */ + const short VERTICAL = 2; + + //------------------------------------------------------------------------- + /** arranges the windows horizontally + */ + const short HORIZONTAL = 3; + + //------------------------------------------------------------------------- + /** cascades the windows + */ + const short CASCADE = 4; + + //------------------------------------------------------------------------- + /** maximizes all windows + */ + const short MAXIMIZE = 5; + + //------------------------------------------------------------------------- + /** minimizes all windows + */ + const short MINIMIZE = 6; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XBorderResizeListener.idl b/offapi/com/sun/star/frame/XBorderResizeListener.idl new file mode 100644 index 000000000000..0a52480e58c6 --- /dev/null +++ b/offapi/com/sun/star/frame/XBorderResizeListener.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XBorderResizeListener.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XBorderResizeListener_idl__ +#define __com_sun_star_frame_XBorderResizeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_frame_BorderWidths_idl__ +#include <com/sun/star/frame/BorderWidths.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** allows to listen to border resize events of a controller. + */ +interface XBorderResizeListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** notifies the listener that the controller's border widths have been + changed. + + @param aObject + reference to the object representing the controller + + @param NewSize + the new widths of the controller's border + */ + void borderWidthsChanged( [in] ::com::sun::star::uno::XInterface aObject, [in] BorderWidths aNewSize ); +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl b/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl new file mode 100644 index 000000000000..8273d1283843 --- /dev/null +++ b/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XBrowseHistoryRegistry.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XBrowseHistoryRegistry_idl__ +#define __com_sun_star_frame_XBrowseHistoryRegistry_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** @deprecated + */ +published interface XBrowseHistoryRegistry: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** @deprecated + */ + [oneway] void updateViewData( [in] any Value ); + + //------------------------------------------------------------------------- + /** @deprecated + */ + [oneway] void createNewEntry( + [in] string URL, + [in] sequence<com::sun::star::beans::PropertyValue> Arguments, + [in] string Title); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XComponentLoader.idl b/offapi/com/sun/star/frame/XComponentLoader.idl new file mode 100644 index 000000000000..26425594d586 --- /dev/null +++ b/offapi/com/sun/star/frame/XComponentLoader.idl @@ -0,0 +1,195 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XComponentLoader.idl,v $ + * $Revision: 1.18 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XComponentLoader_idl__ +#define __com_sun_star_frame_XComponentLoader_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** this is a simple interface to load components by an URL into a + frame environment + + @see Desktop + @see Frame + @see XFrame + */ +published interface XComponentLoader: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** loads a component specified by an URL into the specified + new or existing frame. + + @param URL + specifies the URL of the document to load + + <p> + To create new documents, use "private:factory/scalc", "private:factory/swriter", etc. + Other special protocols (e.g. "slot:", ".uno") are not allowed and raise + an <type scope="com::sun::star::lang">IllegalArgumentException</type>. + </p> + + @param TargetFrameName + specifies the name of the frame to view the document in + + <p> + If a frame with the specified name already exists, it is used, otherwise it + is created. There exist some special targets which never can be used + as real frame names: + <table border=1> + <tr> + <td><strong>"_blank"</strong></td> + <td>always creates a new frame</td> + </tr> + <tr> + <td><strong>"_default"</strong></td> + <td>special UI functionality<br>(e.g. detecting of already loaded documents, using of empty frames of creating of new top frames as fallback)</td> + </tr> + <tr> + <td><strong>"_self", ""(!)</strong></td> + <td>means frame himself</td> + </tr> + <tr> + <td><strong>"_parent"</strong></td> + <td>address direct parent of frame</td> + </tr> + <tr> + <td><strong>"_top"</strong></td> + <td>indicates top frame of current path in tree</td> + </tr> + <tr> + <td><strong>"_beamer"</strong></td> + <td>means special sub frame</td> + </tr> + </table> + + @param SearchFlags + use the values of <type>FrameSearchFlag</type> to specify + how to find the specified <var>TargetFrameName</var> + + <p> + Note: These flags are optional ones and will be used for non special + target names only. + </p> + + @param Arguments + these arguments specify component or filter specific behavior + + <p> + For example, "ReadOnly" with a boolean value specifies whether + the document is opened read-only. "FilterName" specifies the + component type to create and the filter to use, for example: + "Text - CSV". For more information see + <type scope="com::sun::star::document">MediaDescriptor</type>. + </p> + + @return + a <type scope="com::sun::star::lang">XComponent</type> for successfully loaded + documents or + <br> + <NULL/>if it failed + + <p> + This interface is a generic one and can be used to start further requests on + loaded document or control the lifetime of it (means dispose() it after using). + The real document service behind this interface can be one of follow three ones: + <ul> + <li> + <type scope="com::sun::star::awt">XWindow</type> for simple components<br/> + Should be used for viewable components only. It is not allowed to dispose + it after use directly, because the frame containing the component is its owner. + Because the frame object is not accessible through the interface too, + only an interacting user can do this by closing the frames' window. + </li> + <li> + <type>XController</type> for richer components<br/> + Should be used for real editable components which doesn't need a model. + It is not allowed to dispose it after use directly, because the frame + containing the component is its owner. Here the object can be disposed + by disposing the frame, that the <member>XController::getFrame()</member> + method of the controller returns. But for visible components the controller + should be asked for permission by calling <member>XController::suspend()</member> before. + </li> + <li> + <type>XModel</type> for full featured components<br/> + A model that in general can be shared between several view/controller pairs, + does not have an explicit owner. Every view and also the component that + loaded the document may consider itself as an owner. + Simply calling <method scope="com::sun::star::lang">XComponent::dispose</method> on this model may + cause problems, if some members of the "owner community" are currently + busy working on the model. These problems are handled by explicit closing + negotiations through the interface <type scope="com::sun::star::util">XCloseable</type>. + Direct dispose of the model is allowed only, if this special interface doesn't exist. + </li> + </ul> + </p> + + @throws com::sun::star::io::IOException + when <var>URL</var> couldn't be found or was corrupt + + @throws com::sun::star::lang::IllegalArgumentException + when given parameters doesn't perform the specification + */ + com::sun::star::lang::XComponent loadComponentFromURL( + [in] string URL, + [in] string TargetFrameName, + [in] long SearchFlags, + [in] sequence<com::sun::star::beans::PropertyValue> Arguments) + raises( com::sun::star::io::IOException, + com::sun::star::lang::IllegalArgumentException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XComponentRegistry.idl b/offapi/com/sun/star/frame/XComponentRegistry.idl new file mode 100644 index 000000000000..ee1546cb28b9 --- /dev/null +++ b/offapi/com/sun/star/frame/XComponentRegistry.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XComponentRegistry.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XComponentRegistry_idl__ +#define __com_sun_star_frame_XComponentRegistry_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_uno_Uik_idl__ +#include <com/sun/star/uno/Uik.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** @deprecated + */ +published interface XComponentRegistry: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** @deprecated + */ + com::sun::star::uno::XInterface createObject( + [in] string URL, + [in] com::sun::star::uno::Uik Uik ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XConfigManager.idl b/offapi/com/sun/star/frame/XConfigManager.idl new file mode 100644 index 000000000000..cef86d0e30b9 --- /dev/null +++ b/offapi/com/sun/star/frame/XConfigManager.idl @@ -0,0 +1,121 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XConfigManager.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XConfigManager_idl__ +#define __com_sun_star_frame_XConfigManager_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__ +#include <com/sun/star/beans/XPropertyChangeListener.idl> +#endif + +//============================================================================ + + module com { + module sun { + module star { + module frame { + +//============================================================================ +/** @deprecated + */ +published interface XConfigManager: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** add a listener to notify changes on well known variables + inside the real implementation + + <p> + Listener can update his text values by calling <member>XConfigManager::substituteVariables()</member> + again. If <var>KeyName</var> specifies a group of keys, the listener gets one notify for each subkey. + </p> + + @param KeyName + specifies variable about listener will be informed on changes + + @param Listener + listener which will be informed + + @see XConfigManager::removePropertyChangeListener() + + @deprecated + */ + [oneway] void addPropertyChangeListener( + [in] string KeyName, + [in] com::sun::star::beans::XPropertyChangeListener Listener ); + + //------------------------------------------------------------------------- + /** remove a registered listener + + @param KeyName + specifies variable on which listener was registered + + @param Listener + listener which will be deregistered + + @see XConfigManager::addPropertyChangeListener() + + @deprecated + */ + [oneway] void removePropertyChangeListener( + [in] string KeyName, + [in] com::sun::star::beans::XPropertyChangeListener Listener); + + //------------------------------------------------------------------------- + /** substitute variables (place holder) inside given parameter <var>Text</var> + + <p> + The value of <var>Text</var> is NOT changed. + </p> + + @param Text + original value including variables + + @return + changed copy of <var>Text</var> without any variables + */ + string substituteVariables( [in] string Text ); + + //------------------------------------------------------------------------- + /** was designed for additional functionality for interface <type scope="com::sun::star::registry">XSimpleRegistry</type> + and make no sense without that + @deprecated + */ + [oneway] void flush(); + +}; //XConfigManager +}; //frame +}; //star +}; //sun +}; //com + +#endif diff --git a/offapi/com/sun/star/frame/XControlNotificationListener.idl b/offapi/com/sun/star/frame/XControlNotificationListener.idl new file mode 100644 index 000000000000..3fa607a36b27 --- /dev/null +++ b/offapi/com/sun/star/frame/XControlNotificationListener.idl @@ -0,0 +1,68 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XControlNotificationListener.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XControlNotificationListener_idl__ +#define __com_sun_star_frame_XControlNotificationListener_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_ControlEvent_idl__ +#include <com/sun/star/frame/ControlEvent.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** Must be implemented by dispatch objects which want to get + notifications about control events. + + @since OOo 2.0.3 + */ +interface XControlNotificationListener : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** notifies that a control event has happend + + @param Event + contains the event informantion + */ + void controlEvent( [in] ControlEvent Event ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XController.idl b/offapi/com/sun/star/frame/XController.idl new file mode 100644 index 000000000000..d984346ec4b7 --- /dev/null +++ b/offapi/com/sun/star/frame/XController.idl @@ -0,0 +1,128 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XController.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XController_idl__ +#define __com_sun_star_frame_XController_idl__ + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + + published interface XFrame; + published interface XModel; + +//============================================================================= +/** With this interface, components viewed in a <type>Frame</type> can serve + events (by supplying dispatches). + + @see XFrame + @see com::sun::star::awt::XWindow + @see XModel + */ +published interface XController: com::sun::star::lang::XComponent +{ + //------------------------------------------------------------------------- + /** is called to attach the controller with its managing frame. + + @param Frame + the new owner frame of this controller + */ + void attachFrame( [in] XFrame Frame ); + + //------------------------------------------------------------------------- + /** is called to attach the controller to a new model. + + @param Model + the new model for this controller + + @return + <TRUE/>if attach was successfully + <br> + <FALSE/>otherwise + */ + boolean attachModel( [in] XModel Model ); + + //------------------------------------------------------------------------- + /** is called to prepare the controller for closing the view + + @param Suspend + <TRUE/>force the controller to suspend his work + <FALSE/>try to reactivate the controller + + @return + <TRUE/>if request was accepted and of course successfully finished + <br> + <FALSE/>otherwise + */ + boolean suspend( [in] boolean Suspend ); + + //------------------------------------------------------------------------- + /** provides access to current view status + + @returns + set of data that can be used to restore the current view status + at later time by using <member>XController::restoreViewData()</member> + */ + any getViewData(); + + //------------------------------------------------------------------------- + /** restores the view status using the data gotten from a previous call to + <member>XController::getViewData()</member>. + + @param Data + set of data to restore it + */ + void restoreViewData( [in] any Data ); + + //------------------------------------------------------------------------- + /** provides access to currently attached model + + @returns + the currently attached model. + */ + XModel getModel(); + + //------------------------------------------------------------------------- + /** provides access to owner frame of this controller + + @returns + the frame containing this controller. + */ + XFrame getFrame(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XController2.idl b/offapi/com/sun/star/frame/XController2.idl new file mode 100644 index 000000000000..ec4ae530feb0 --- /dev/null +++ b/offapi/com/sun/star/frame/XController2.idl @@ -0,0 +1,73 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2008 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* $RCSfile: XController2.idl,v $ +* +* $Revision: 1.2 $ +* +* This file is part of OpenOffice.org. +* +* OpenOffice.org is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License version 3 +* only, as published by the Free Software Foundation. +* +* OpenOffice.org is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License version 3 for more details +* (a copy is included in the LICENSE file that accompanied this code). +* +* You should have received a copy of the GNU Lesser General Public License +* version 3 along with OpenOffice.org. If not, see +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __com_sun_star_frame_XController2_idl__ +#define __com_sun_star_frame_XController2_idl__ + +#include <com/sun/star/frame/XController.idl> +#include <com/sun/star/awt/XWindow.idl> + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** extends the <type>XController</type> interface + + @since OOo 3.0 +*/ +interface XController2 : XController +{ + /** denotes the "root window" of the controller. + + <p>If the controller is plugged into a frame, this window acts as the + frame's <code>ComponentWindow</code>.</p> + + @see XFrame + */ + [readonly, attribute] ::com::sun::star::awt::XWindow ComponentWindow; + + /** specifies the view name of the controller. + + <p>A view name is a logical name, which can be used to create views of the same + type. The name is meaningful only in conjunction with <member>XModel2::createViewController</member> + - if it's passed there, a view/controller pair of the same type will be created.</p> + */ + [readonly, attribute] string ViewControllerName; +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif + diff --git a/offapi/com/sun/star/frame/XControllerBorder.idl b/offapi/com/sun/star/frame/XControllerBorder.idl new file mode 100644 index 000000000000..c06296774b98 --- /dev/null +++ b/offapi/com/sun/star/frame/XControllerBorder.idl @@ -0,0 +1,94 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XControllerBorder.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XControllerBorder_idl__ +#define __com_sun_star_frame_XControllerBorder_idl__ + +#ifndef __com_sun_star_frame_BorderWidths_idl__ +#include <com/sun/star/frame/BorderWidths.idl> +#endif + +#ifndef __com_sun_star_frame_XBorderResizeListener_idl__ +#include <com/sun/star/frame/XBorderResizeListener.idl> +#endif + +#ifndef __com_sun_star_awt_Rectangle_idl__ +#include <com/sun/star/awt/Rectangle.idl> +#endif + + +//============================================================================ + + module com { module sun { module star { module frame { + +//============================================================================ +/** allows to retrieve information about controller's border. + */ +interface XControllerBorder: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------ + /** allows to get current border sizes of the document. + + @return + <type>BorderWidths</type> representing the sizes of border + */ + BorderWidths getBorder(); + + //------------------------------------------------------------------------ + /** adds the specified listener to receive events about controller's + border resizing. + */ + void addBorderResizeListener( [in] XBorderResizeListener xListener ); + + //------------------------------------------------------------------------ + /** removes the specified listener. + */ + void removeBorderResizeListener( [in] XBorderResizeListener xListener ); + + //------------------------------------------------------------------------ + /** allows to get suggestion for resizing of object area surrounded + by the border. + + <p> If the view is going to be resized/moved this method can be + used to get suggested object area. Pixels are used as units. + </p> + + @return + suggestion for the resizing + */ + ::com::sun::star::awt::Rectangle queryBorderedArea( + [in] ::com::sun::star::awt::Rectangle aPreliminaryRectangle ); +}; + +//============================================================================ + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/frame/XDesktop.idl b/offapi/com/sun/star/frame/XDesktop.idl new file mode 100644 index 000000000000..858c170da7e3 --- /dev/null +++ b/offapi/com/sun/star/frame/XDesktop.idl @@ -0,0 +1,168 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDesktop.idl,v $ + * $Revision: 1.11 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XDesktop_idl__ +#define __com_sun_star_frame_XDesktop_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_XTerminateListener_idl__ +#include <com/sun/star/frame/XTerminateListener.idl> +#endif + +#ifndef __com_sun_star_container_XEnumerationAccess_idl__ +#include <com/sun/star/container/XEnumerationAccess.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_frame_XFrame_idl__ +#include <com/sun/star/frame/XFrame.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** This is the main interface of a desktop service. + + <p> + A desktop is an environment for components which can be viewed in + frames. Frames are like frames in HTML framesets. This does not imply + that a desktop can handle framesets; the frames may be top frames + only. + </p> + + @see Desktop + */ +published interface XDesktop: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** tries to terminate the desktop. + + <p> + First, every terminate listener is called by his <member>XTerminateListener::queryTermination()</member> method. + Throwing of a <type>TerminationVetoException</type> can break the termination process and the listener how has + done that will be the new "controller" of the desktop lifetime. He should try to terminate it by himself after + his own processes will be finished. + If nobody disagree with the termination request, every listener will be called by his + <member>XTerminateListener::notifyTermination()</member> method. + </p> + + @return + <TRUE/>if all listener agree with this request + <br> + <FALSE/>otherwise + + @see XTerminateListener + @see TerminationVetoException + */ + boolean terminate(); + + //------------------------------------------------------------------------- + /** registers an event listener to the desktop, which is called + when the desktop is queried to terminate, and when it really + terminates. + + @param Listener + listener for termination events + + @see XDesktop::removeTerminateListener() + */ + [oneway] void addTerminateListener( [in] XTerminateListener Listener ); + + //------------------------------------------------------------------------- + /** unregisters an event listener for termination events. + + @param Listener + listener which wish to be deregistered + + @see XDesktop::addTerminateListener() + */ + [oneway] void removeTerminateListener( [in] XTerminateListener Listener ); + + //------------------------------------------------------------------------- + /** provides read access to collection of all currently loaded components + inside the frame tree + + <p> + The component is, by definition, the model of the control which + is loaded into a frame, or if no model exists, into the control + itself. + The service <type>Components</type> which is available from this + method is a collection of all components of the desktop which are open + within a frame of the desktop. + </p> + + @returns + the collection of all components + + @see Components + */ + com::sun::star::container::XEnumerationAccess getComponents(); + + //------------------------------------------------------------------------- + /** provides read access to the component inside the tree which has the UI focus + + <p> + Normally, the component is the model part of the + active component. If no model exists it is the active controller + (view) itself. + </p> + + @returns + the component within the desktop environment which has the UI focus. + + @see XDesktop::getCurrentFrame() + */ + com::sun::star::lang::XComponent getCurrentComponent(); + + //------------------------------------------------------------------------- + /** provides read access to the frame wich contains the current component + + @returns + the frame of the component which has the + UI focus within this desktop enviroment + + @see XDesktop::getCurrentComponent() + */ + XFrame getCurrentFrame(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XDesktopTask.idl b/offapi/com/sun/star/frame/XDesktopTask.idl new file mode 100644 index 000000000000..70664d30417e --- /dev/null +++ b/offapi/com/sun/star/frame/XDesktopTask.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDesktopTask.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XDesktopTask_idl__ +#define __com_sun_star_frame_XDesktopTask_idl__ + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_awt_XWindow_idl__ +#include <com/sun/star/awt/XWindow.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** use <type>XFrame</type> instead of this + @deprecated + */ +published interface XDesktopTask: com::sun::star::lang::XComponent +{ + //------------------------------------------------------------------------- + /** use <type scope="com::sun::star::lang">XInitialization</type> instead.. + @deprecated + */ + void initialize( [in] com::sun::star::awt::XWindow TaskWindow ); + + //------------------------------------------------------------------------- + /** use <type scope="com::sun::star::util">XCloseable</type> + or <member scope="com::sun::star::lang">XComponent::dispose()</member> + instead. + + @deprecated + */ + boolean close(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XDispatch.idl b/offapi/com/sun/star/frame/XDispatch.idl new file mode 100644 index 000000000000..886026793531 --- /dev/null +++ b/offapi/com/sun/star/frame/XDispatch.idl @@ -0,0 +1,167 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDispatch.idl,v $ + * $Revision: 1.13 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XDispatch_idl__ +#define __com_sun_star_frame_XDispatch_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_util_URL_idl__ +#include <com/sun/star/util/URL.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_frame_XStatusListener_idl__ +#include <com/sun/star/frame/XStatusListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** serves state information of objects which can be connected to + controls (e.g. toolbox controls). + + <p> + Each state change is to be broadcasted to all registered + status listeners. The first notification should be performed + synchronously from <member>XDispatch::addStatusListener()</member>; + if not, controls may flicker. State listener must be aware of this + synchronous notification. + </p> + + <p> + The state consists of enabled/disabled and a short descriptive text + of the function (e.g. "undo insert character"). It is to be broadcasted + whenever this state changes or the control should re-get the value + for the URL it is connected to. Additionally, a context-switch-event + is to be broadcasted whenever the object may be out of scope, + to force the state listener to requery the <type>XDispatch</type>. + </p> + + @see Frame + @see FeatureStateEvent + */ +published interface XDispatch: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** dispatches (executes) an URL asynchronously. + + <p> + It is only allowed to dispatch URLs for which this <type>XDispatch</type> + was explicitely queried. Additional arguments ("'#..." or "?...") are allowed. + </p> + + @param URL + fully parsed URL describing the feature which should be dispatched (=executed) + + @param Arguments + optional arguments for this request. + They depend on the real implementation of the dipsatch object. + + @example + <listing> + <i><font COLOR="#949494">// some code for a click-handler (Java)</font></i> + void <strong>myOnClick</strong>(<em>String</em> sURL,<em>String</em> sTargetFrame,<em>com.sun.star.beans.PropertyValue[]</em> lArguments) + { + com.sun.star.util.URL[] aURL = new com.sun.star.util.URL[1]; + aURL[0] = new com.sun.star.util.URL(); + aURL[0].Complete = sURL; + + com.sun.star.util.XURLTransformer xParser = (com.sun.star.util.XURLTransformer)UnoRuntime.queryInterface( + com.sun.star.util.XURLTransformer.class, + mxServiceManager.createInstance("com.sun.star.util.URLTransformer")); + + xParser.parseStrict(aURL); + + com.sun.star.frame.XDispatch xDispatcher = mxFrame.queryDispatch(aURL[0], sTargetFrame, com.sun.star.frame.FrameSearchFlag.GLOBAL); + + if(xDispatcher!=null) + xDispatcher.dispatch(aURL[0], lArguments); + } + </listing> + */ + [oneway] void dispatch( + [in] com::sun::star::util::URL URL, + [in] sequence<com::sun::star::beans::PropertyValue> Arguments); + + //------------------------------------------------------------------------- + /** registers a listener of a control for a specific URL + at this object to receive status events. + + <p> + It is only allowed to register URLs for which this <type>XDispatch</type> + was explicitely queried. Additional arguments ("#..." or "?...") will be ignored. + </p> + Note: Notifications can't be guaranteed! This will be a part of interface <type>XNotifyingDispatch</type>. + + @param Control + listener that wishes to be informed + + @param URL + the URL (without additional arguments) the listener wishes to be registered for. + A listener can be registered for more than one URL at the same time. + + @see XStatusListener + @see XDispatch::removeStatusListener() + */ + [oneway] void addStatusListener( + [in] XStatusListener Control, + [in] com::sun::star::util::URL URL); + + //------------------------------------------------------------------------- + /** unregisters a listener from a control. + + @param Control + listener that wishes to be unregistered + + @param URL + URL the listener was registered for. + Additional arguments ("#..." or "?...") will be ignored. + + @see XStatusListener + @see XDispatch::addStatusListener() + */ + [oneway] void removeStatusListener( + [in] XStatusListener Control, + [in] com::sun::star::util::URL URL); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XDispatchHelper.idl b/offapi/com/sun/star/frame/XDispatchHelper.idl new file mode 100644 index 000000000000..aa22d573f376 --- /dev/null +++ b/offapi/com/sun/star/frame/XDispatchHelper.idl @@ -0,0 +1,99 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDispatchHelper.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XDispatchHelper_idl__ +#define __com_sun_star_frame_XDispatchHelper_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchProvider_idl__ +#include <com/sun/star/frame/XDispatchProvider.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** provides an easy way to dispatch functions useful at UI level. + + @see XDispatch + + @since OOo 1.1.2 + */ +published interface XDispatchHelper : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** executes the dispatch. + + Listeners are not supported here! + + @param DispatchProvider + points to the provider, which should be asked for valid dispatch objects + + @param URL + describes the feature which should be supported by internally used dispatch object + + @param TargetFrameName + specifies the frame which should be the target for this request + + @param SearchFlags + optional search parameter for finding the frame if no special + <var>TargetFrameName</var> was used + + @param Arguments + optional arguments for this request + They depend on the real implementation of the dispatch object. + + @return + A possible result of the executed internal dispatch. + The information behind this <atom>any</atom> depends on the dispatch! + + @see XDispatch::dispatch() + */ + + any executeDispatch( + [in] XDispatchProvider DispatchProvider, + [in] string URL, + [in] string TargetFrameName, + [in] long SearchFlags, + [in] sequence< com::sun::star::beans::PropertyValue > Arguments ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XDispatchInformationProvider.idl b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl new file mode 100644 index 000000000000..f3bff683ad49 --- /dev/null +++ b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl @@ -0,0 +1,94 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDispatchInformationProvider.idl,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XDispatchInformationProvider_idl__ +#define __com_sun_star_frame_XDispatchInformationProvider_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_DispatchInformation_idl__ +#include <com/sun/star/frame/DispatchInformation.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** provides information about supported commands + + <p> + This interface can be used to retrieve additional information about + supported commands. This interface is normally used by configuration + implementations to retrieve all supported commands. + A dispatch information provider is normally supported by a + <type>Frame</type> service. + </p> + + @see Frame + + @since OOo 2.0.0 + */ +published interface XDispatchInformationProvider: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns all supported command groups. + + @returns + a sequence of supported command groups. + + @see CommandGroup + */ + sequence < short > getSupportedCommandGroups(); + + //------------------------------------------------------------------------- + /** returns additional information about supported commands of a + given command group. + + @param CommandGroup + specifies a command group. + + @returns + name and group name of every command supported. A group ID which is + not supported returns an empty <type scope="com::sun::star::uno">Sequence</type>. + */ + sequence < DispatchInformation > getConfigurableDispatchInformation( [in] short CommandGroup ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XDispatchProvider.idl b/offapi/com/sun/star/frame/XDispatchProvider.idl new file mode 100644 index 000000000000..c80797365a39 --- /dev/null +++ b/offapi/com/sun/star/frame/XDispatchProvider.idl @@ -0,0 +1,112 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDispatchProvider.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XDispatchProvider_idl__ +#define __com_sun_star_frame_XDispatchProvider_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatch_idl__ +#include <com/sun/star/frame/XDispatch.idl> +#endif + +#ifndef __com_sun_star_util_URL_idl__ +#include <com/sun/star/util/URL.idl> +#endif + +#ifndef __com_sun_star_frame_DispatchDescriptor_idl__ +#include <com/sun/star/frame/DispatchDescriptor.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** provides <type>XDispatch</type> interfaces for certain functions which + are useful at the UI. + + @see XDispatch + */ +published interface XDispatchProvider: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** searches for an <type>XDispatch</type> for the specified URL within + the specified target frame. + + @param URL + describe the feature which should be supported by returned dispatch object + + @param TargetFrameName + specify the frame which should be the target for this request + + @param SearchFlags + optional search parameter for finding the frame if no special + <var>TargetFrameName</var> was used + + @return + the dispatch object which provides queried functionality + <br> + or <NULL/> if no dispatch object is available + + @see XFrame::findFrame() + @see XDispatchProvider::queryDispatches() + */ + XDispatch queryDispatch( + [in] com::sun::star::util::URL URL, + [in] string TargetFrameName, + [in] long SearchFlags ); + + //------------------------------------------------------------------------- + /** actually this method is redundant to <member>XDispatchProvider::queryDispatch()</member> + to avoid multiple remote calls. + + @param Requests + list of dispatch requests + + @returns + multiple dispatch interfaces for the specified descriptors at once + + <p> + It's not allowed to pack it - because every request must match + to his real result. Means: don't delete <NULL/> entries inside this list. + </p> + */ + sequence< XDispatch > queryDispatches( + [in] sequence<DispatchDescriptor> Requests); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XDispatchProviderInterception.idl b/offapi/com/sun/star/frame/XDispatchProviderInterception.idl new file mode 100644 index 000000000000..25c49003d143 --- /dev/null +++ b/offapi/com/sun/star/frame/XDispatchProviderInterception.idl @@ -0,0 +1,93 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDispatchProviderInterception.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__ +#define __com_sun_star_frame_XDispatchProviderInterception_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchProviderInterceptor_idl__ +#include <com/sun/star/frame/XDispatchProviderInterceptor.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** makes it possible to register an <type>XDispatchProvider</type> which + intercepts all requests of <type>XDispatch</type> to this instance. + + <p> + Note: Nobody can guarantee order of used interceptor objects if more then ones exist. + Later registered ones will be used at first. But it's possible to increase the chance + for that by providing the optional interface <type>XInterceptorInfo</type>. + </p> + + @see XDispatchProvider + @see XDispatch + @see XInterceptorInfo + */ +published interface XDispatchProviderInterception: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** registers an <type>XDispatchProviderInterceptor</type>, which will become + the first interceptor in the chain of registered interceptors. + + @param Interceptor + the interceptor which whish to be registered + + @see XDispatchProviderInterception::releaseDispatchProviderInterceptor() + */ + void registerDispatchProviderInterceptor( [in] XDispatchProviderInterceptor Interceptor ); + + //------------------------------------------------------------------------- + /** removes an <type>XDispatchProviderInterceptor</type> which was previously registered + + <p> + The order of removals is arbitrary. It is not necessary to remove the last + registered interceptor first. + </p> + + @param Interceptor + the interceptor which whish to be unregistered + + @see XDispatchProviderInterception::registerDispatchProviderInterceptor() + */ + void releaseDispatchProviderInterceptor( [in] XDispatchProviderInterceptor Interceptor ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl b/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl new file mode 100644 index 000000000000..d6b89bbb970e --- /dev/null +++ b/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl @@ -0,0 +1,103 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDispatchProviderInterceptor.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XDispatchProviderInterceptor_idl__ +#define __com_sun_star_frame_XDispatchProviderInterceptor_idl__ + +#ifndef __com_sun_star_frame_XDispatchProvider_idl__ +#include <com/sun/star/frame/XDispatchProvider.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** makes it possible to intercept request of <type>XDispatch</type>. + + <p> + Can be registered as an interceptor by using interface <type>XDispatchProviderInterception</type>. + </p> + + @see XDispatchProviderInterception + */ +published interface XDispatchProviderInterceptor: XDispatchProvider +{ + //------------------------------------------------------------------------- + /** access to the slave <type>XDispatchProvider</type> of this interceptor + + @returns + the slave of this interceptor + + @see XDispatchProviderInterceptor::setSlaveDispatchProvider() + */ + XDispatchProvider getSlaveDispatchProvider(); + + //------------------------------------------------------------------------- + /** sets the slave <type>XDispatchProvider</type> to which calls to + <member>XDispatchProvider::queryDispatch()</member> can be forwarded + under control of this dispatch provider. + + @param xNewDispatchProvider + the new slave of this interceptor + + @see XDispatchProviderInterceptor::getSlaveDispatchProvider() + */ + void setSlaveDispatchProvider( [in] XDispatchProvider NewDispatchProvider ); + + //------------------------------------------------------------------------- + /** access to the master <type>XDispatchProvider</type> of this interceptor + + @returns + the master of this interceptor + + @see XDispatchProviderInterceptor::setMasterDispatchProvider() + */ + XDispatchProvider getMasterDispatchProvider(); + + //------------------------------------------------------------------------- + /** sets the master <type>XDispatchProvider</type>, which may forward + calls to its <member>XDispatchProvider::queryDispatch()</member> + to this dispatch provider. + + @param NewSupplier + the master of this interceptor + + @see XDispatchProviderInterceptor::getMasterDispatchProvider() + */ + void setMasterDispatchProvider( [in] XDispatchProvider NewSupplier ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XDispatchRecorder.idl b/offapi/com/sun/star/frame/XDispatchRecorder.idl new file mode 100644 index 000000000000..3248c63c71db --- /dev/null +++ b/offapi/com/sun/star/frame/XDispatchRecorder.idl @@ -0,0 +1,149 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDispatchRecorder.idl,v $ + * $Revision: 1.11 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XDispatchRecorder_idl__ +#define __com_sun_star_frame_XDispatchRecorder_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_util_URL_idl__ +#include <com/sun/star/util/URL.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + + published interface XFrame; + +//============================================================================= +/** provides recording functionality of dispatches + + <p> + With such recorder it will be possible to record requests of type + <type>XDispatch</type> by using additional interface + <type>XRecordableDispatch</type>. The result of that will be a + a script which can be used to start the dispatch at later time again. + Such recorder objects are available on a <type>XDispatchRecorderSupplier</type> + which is provided by the <type>Frame</type> service. + </p> + + @see Frame + @see XDispatchRecorderSupplier + + @since OOo 1.1.2 + */ +published interface XDispatchRecorder: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** initializes the recorder by passing the frame for which all + macro statements shall be recorded + + @param Frame + it includes the document on which such requests shall be recorded + */ + void startRecording( [in] com::sun::star::frame::XFrame Frame ); + + //------------------------------------------------------------------------- + /** stops the recording process + + <p> + Must be called in pairs with <member>XDispatchRecorder::startRecording()</member>. + </p> + + @attention The recorder uses this method to control the lifetime of its internal + used macro buffer. It will be cleared here. So the macro must be fetched + before endRecording() is called. + + @see getRecordedMacro() + */ + void endRecording(); + + //------------------------------------------------------------------------- + /** records a single dispatch call identified by its command URL + + @param URL + the full parsed command URL + + @param Arguments + optional arguments for the command URL + <br> + (see <type scope="com::sun::star::document">MediaDescriptor</type> + for further informations) + */ + void recordDispatch( + [in] com::sun::star::util::URL URL, + [in] sequence<com::sun::star::beans::PropertyValue> Arguments); + + //------------------------------------------------------------------------- + /** records a single dispatch call identified by its command URL, but + comments it out + + <p> + This way calls that failed on execution can be documented. + </p> + + @param URL + the full parsed command URL + + @param Arguments + optional arguments for the command URL + <br> + (see <type scope="com::sun::star::document">MediaDescriptor</type> + for further informations) + */ + void recordDispatchAsComment( + [in] com::sun::star::util::URL URL, + [in] sequence<com::sun::star::beans::PropertyValue> Arguments); + + //------------------------------------------------------------------------- + /** returns the recorded source code + + <p> + This method must be used before <member>endRecording()</member> is called! + Otherwhise the macro will be relased. + </p> + + @returns + the recorded data as a string which can be interpreted as a script + */ + string getRecordedMacro(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl b/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl new file mode 100644 index 000000000000..d8fc52fd8d52 --- /dev/null +++ b/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl @@ -0,0 +1,133 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDispatchRecorderSupplier.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__ +#define __com_sun_star_frame_XDispatchRecorderSupplier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatch_idl__ +#include <com/sun/star/frame/XDispatch.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchRecorder_idl__ +#include <com/sun/star/frame/XDispatchRecorder.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** provides access to the record mechanism of dispatches + + <p> + With a <type>XDispatchRecorder</type> it's possible to record calls + of <member>XDispatch::dispatch()</member>. The recorded data (may a script) + can be used to automate recorded dispatch and start it at later time again. + This supplier provides access to the recorder and supports some functionality + to work with the mcaro recording mechanism in an easy manner. + </p> + + @see XDispatchRecorder + @since OOo 1.1.2 + */ +published interface XDispatchRecorderSupplier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** set a dispatch recorder on this supplier + + <p> + Setting of a new recorder make it possible to change recording mode. + May there can exist different implementations of a recorder (e.g. to + generate Java, Basic or other formats). Changing between local recording + inside one <type>Frame</type> or global one by using more then ones can be + forced too. + </p> + + @param Recorder + the new recorder for this supplier + */ + void setDispatchRecorder( [in] com::sun::star::frame::XDispatchRecorder Recorder ); + + //------------------------------------------------------------------------- + /** provides access on the recorder of this supplier + + <p> + Returned recorder can be used to record dispatches manualy or to get + recorded data for further using e.g. saving. He is internaly used too + due to the method <member>XDispatchRecorderSupplier::dispatchAndRecord()</member>. + </p> + + @returns + the dispatch recorder of this supplier + + @see XDispatchRecorder + */ + com::sun::star::frame::XDispatchRecorder getDispatchRecorder(); + + //------------------------------------------------------------------------- + /** dispatch given URL and record it if recording is enabled + + <p> + Parameter <var>Dispatcher</var> is used internaly to make the dispatch. + If recording isn't enabled it will be a normal <member>XDispatch::dispatch()</member> + call. Otherwise follow algorithm is used: + <ul> + <li>If <var>Dispatcher</var> doesn't support the interface + <type>XRecordableDispatch</type> a normal dispatch() call + will be made and depend from the result state of that + the request will be recorded. In this case it's possible + to record the incoming parameter (<var>URL</var> and + <var>Arguments</var>) only. Parameters of internal processes + can't be recorded then and will be lost. + </li> + <li>If <var>Dispatcher</var> support the interface + <type>XRecordableDispatch</type> it will be used + to dispatch and record all neccessary parameters of + the whole process. + </li> + </ul> + </p> + + @see XRecordableDispatch + */ + void dispatchAndRecord( + [in] com::sun::star::util::URL URL, + [in] sequence<com::sun::star::beans::PropertyValue> Arguments, + [in] XDispatch Dispatcher); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XDispatchResultListener.idl b/offapi/com/sun/star/frame/XDispatchResultListener.idl new file mode 100644 index 000000000000..8f4b696128d8 --- /dev/null +++ b/offapi/com/sun/star/frame/XDispatchResultListener.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDispatchResultListener.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XDispatchResultListener_idl__ +#define __com_sun_star_frame_XDispatchResultListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_frame_DispatchResultEvent_idl__ +#include <com/sun/star/frame/DispatchResultEvent.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** listener for results of <member>XNotifyingDispatch::dispatchWithNotification()</member> + + @see XNotifyingDispatch + */ +published interface XDispatchResultListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** indicates finished dispatch + + @param Result + contains the result of the dispatch action + + @see DispatchResultEvent + */ + void dispatchFinished( [in] DispatchResultEvent Result ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XDocumentTemplates.idl b/offapi/com/sun/star/frame/XDocumentTemplates.idl new file mode 100644 index 000000000000..a2641feb47f0 --- /dev/null +++ b/offapi/com/sun/star/frame/XDocumentTemplates.idl @@ -0,0 +1,218 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDocumentTemplates.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XDocumentTemplates_idl__ +#define __com_sun_star_frame_XDocumentTemplates_idl__ + +#ifndef __com_sun_star_frame_XStorable_idl__ +#include <com/sun/star/frame/XStorable.idl> +#endif + +#ifndef __com_sun_star_ucb_XContent_idl__ +#include <com/sun/star/ucb/XContent.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** provides a high level api to organize document templates + + <p> + Template informations are saved as links to the original content + and organized in groups. This data should be persistent and can be + updated by calling special method <member>XDocumentTemplates::update()</member>. + A real implementation of this interface can do that on top of + an ucb content provider. Method <member>XDocumentTemplates::getContent()</member> + force that. + </p> + */ +published interface XDocumentTemplates: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** privides access to the root of internal used hierarchy + + <p> + This content can be used for accessing the groups directly. + </p> + + @return + the ucb content for template configuration + */ + com::sun::star::ucb::XContent getContent(); + + //------------------------------------------------------------------------- + /** creates the template with the given name in the given group using the + data from the storable + + @param GroupName + specifies the group + + @param TemplateName + specifies the template + + @param Storable + specifies the target + + @return + <TRUE/> if operation was sucessfully + <br> + <FALSE/> otherwise + + @see XDocumentTemplates::addTemplate() + */ + boolean storeTemplate( + [in] string GroupName, + [in] string TemplateName, + [in] XStorable Storable); + + //------------------------------------------------------------------------- + /** creates the template with the given name in the given group using the + given URL + + @param GroupName + specifies the group + + @param TemplateName + specifies the template + + @param SourceURL + specifies the position of template + + @return + <TRUE/> if operation was sucessfully + <br> + <FALSE/> otherwise + + @see XDocumentTemplates::storeTemplate() + */ + boolean addTemplate( + [in] string GroupName, + [in] string TemplateName, + [in] string SourceURL); + + //------------------------------------------------------------------------- + /** remove a template from specified group + + @param GroupName + specifies the group which include the template + + @param TemplateName + specifies the template for delete + + @return + <TRUE/> if operation was sucessfully + <br> + <FALSE/> otherwise + */ + boolean removeTemplate( + [in] string GroupName, + [in] string TemplateName); + + //------------------------------------------------------------------------- + /** rename a template inside specified group + + @param GroupName + specifies the group which include the template + + @param TemplateName + specifies the template for renaming + + @return + <TRUE/> if operation was sucessfully + <br> + <FALSE/> otherwise + */ + boolean renameTemplate( + [in] string GroupName, + [in] string OldTemplateName, + [in] string NewTemplateName); + + //------------------------------------------------------------------------- + /** creates a new group + + @param GroupName + the name of the group to be created + + @return + <TRUE/> if operation was sucessfully + <br> + <FALSE/> otherwise + */ + boolean addGroup( [in] string GroupName ); + + //------------------------------------------------------------------------- + /** remove an existing group + + @param GroupName + the name of the group to be removed + + @return + <TRUE/> if operation was sucessfully + <br> + <FALSE/> otherwise + */ + boolean removeGroup( [in] string GroupName ); + + //------------------------------------------------------------------------- + /** rename an existing group + + @param OldGroupName + the old name of the group + + @param NewGroupName + the new name of the group + + @return + <TRUE/> if operation was sucessfully + <br> + <FALSE/> otherwise + */ + boolean renameGroup( + [in] string OldGroupName, + [in] string NewGroupName); + + //------------------------------------------------------------------------- + /** force an update for internal structures + + <p> + Because the templates are well known by links and not as direct content + they can be outdated. An update force actualization of that to find + wrong links. + </p> + */ + [oneway] void update(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XExtendedFilterDetection.idl b/offapi/com/sun/star/frame/XExtendedFilterDetection.idl new file mode 100644 index 000000000000..a119ef75078f --- /dev/null +++ b/offapi/com/sun/star/frame/XExtendedFilterDetection.idl @@ -0,0 +1,68 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XExtendedFilterDetection.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XExtendedFilterDetection_idl__ +#define __com_sun_star_frame_XExtendedFilterDetection_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================ + + module com { + module sun { + module star { + module frame { + +//============================================================================ +/** use <type scope="com::sun::star::document">XExtendedFilterDetection</type> instead of this + @deprecated + */ +published interface XExtendedFilterDetection: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** use <member scope="com::sun::star::document">XExtendedFilterDetection::detect()</member> instead of this + @deprecated + */ + string detect( + [in] string URL, + [in] sequence< com::sun::star::beans::PropertyValue > Argumentlist); + + }; // XExtendedFilterDetection + }; // frame + }; // star + }; // sun +}; // com + +#endif diff --git a/offapi/com/sun/star/frame/XFilterDetect.idl b/offapi/com/sun/star/frame/XFilterDetect.idl new file mode 100644 index 000000000000..b96521981bd5 --- /dev/null +++ b/offapi/com/sun/star/frame/XFilterDetect.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XFilterDetect.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XFilterDetect_idl__ +#define __com_sun_star_frame_XFilterDetect_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** use <type scope="com::sun::star::document">XExtendedFilterDetection</type> instead of this + @deprecated + */ +published interface XFilterDetect: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** - */ + string getContentType( [in] string URL ); + + //------------------------------------------------------------------------- + /** - */ + boolean useExternBrowser( [in] string URL ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XFrame.idl b/offapi/com/sun/star/frame/XFrame.idl new file mode 100644 index 000000000000..7635bf577498 --- /dev/null +++ b/offapi/com/sun/star/frame/XFrame.idl @@ -0,0 +1,391 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XFrame.idl,v $ + * $Revision: 1.15 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XFrame_idl__ +#define __com_sun_star_frame_XFrame_idl__ + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_awt_XWindow_idl__ +#include <com/sun/star/awt/XWindow.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + + published interface XFrameActionListener; + published interface XController; + published interface XFramesSupplier; + +//============================================================================= +/** a frame object can be considered to be an "anchor" object where a component + can be attached to. + + <p> + A frame can be (it's not a must!) a part of a frame tree. If not this frame willn't be + accessible by using the api. This mode make sense for previews. + The root node of the tree can be a <type>Desktop</type> implementation. + </p> + + @see Desktop + */ +published interface XFrame: com::sun::star::lang::XComponent +{ + //------------------------------------------------------------------------- + /** is called to initialize the frame within a window - the container window. + + <p> + This window will be used as parent for the component window and to support + some UI relevant features of the frame service. + Note: Re-parenting mustn't supported by a real frame implementation! + It's designed for initializing - not for setting. + </p> + + <p>This frame will take over ownership of the window refered from + <var>xWindow</var>. Thus, the previous owner is not allowed to + dispose this window anymore. </p> + + @param xWindow + the new container window + + @see XFrame::getContainerWindow() + */ + void initialize( [in] com::sun::star::awt::XWindow xWindow ); + + //------------------------------------------------------------------------- + /** provides access to the container window of the frame. + + <p> + Normally this is used as the parent window of the + component window. + </p> + + @return + the container window of this frame + + @see XFrame::initialize() + */ + com::sun::star::awt::XWindow getContainerWindow(); + + //------------------------------------------------------------------------- + /** sets the frame container that created this frame. + + <p> + Only the creator is allowed to call this method. + But creator doesn't mean the implementation which creates this instance ... + it means the parent frame of the frame hierarchy. + Because; normaly a frame should be created by using the api + and is neccessary for searches inside the tree (e.g. <member>XFrame::findFrame()</member>) + </p> + + @param Creator + the creator (parent) of this frame + + @see XFrame::getCreator() + */ + [oneway] void setCreator( [in] XFramesSupplier Creator ); + + //------------------------------------------------------------------------- + /** provides access to the creator (parent) of this frame + + @returns + the frame container that created and contains this frame. + + @see XFrame::setCreator() + */ + XFramesSupplier getCreator(); + + //------------------------------------------------------------------------- + /** access to the name property of this frame + + @returns + the programmatic name of this frame. + + @see XFrame::setName() + */ + string getName(); + + //------------------------------------------------------------------------- + /** sets the name of the frame. + + <p> + Normally the name of the frame is set initially (e.g. by the creator). + The name of a frame will be used for identifying it if a frame search was started. + These searches can be forced by: + <ul> + <li><member>XFrame::findFrame()</member> + <li><member>XDispatchProvider::queryDispatch()</member> + <li><member>XComponentLoader::loadComponentFromURL()</member> + </ul> + Note: Special targets like "_blank", "_self" etc. are not allowed. + That's why frame names shouldn't start with a sign "_". + </p> + + @param aName + the new programmatic name of this frame + + @see XFrame::findFrame() + @see XFrame::getName() + @see XDispatchProvider + @see XComponentLoader + */ + [oneway] void setName( [in] string aName ); + + //------------------------------------------------------------------------- + /** searches for a frame with the specified name. + + <p> + Frames may contain other frames (e.g., a frameset) and may + be contained in other frames. This hierarchy is searched with + this method. + First some special names are taken into account, i.e. "", + "_self", "_top", "_blank" etc. <var>SearchFlags</var> is ignored when + comparing these names with <var>TargetFrameName</var>; further steps are + controlled by <var>SearchFlags</var>. If allowed, the name of the frame + itself is compared with the desired one, and then ( again if allowed ) + the method is called for all children of the frame. Finally may be called + for the siblings and then for parent frame (if allowed). + </p> + + <p> + List of special target names: + <table border=1> + <tr><td>""/"_self"</td><td>address the starting frame itself</td></tr> + <tr><td>"_parent"</td><td>address the direct parent frame only</td></tr> + <tr><td>"_top"</td><td>address the top frame of this subtree of the frametree</td></tr> + <tr><td>"_blank"</td><td>creates a new top frame</td></tr> + </table> + </p> + + <p> + If no frame with the given name is found, a new top frame is + created; if this is allowed by a special flag <const>FrameSearchFlag::CREATE</const>. + The new frame also gets the desired name. + </p> + + @param aTargetFrameName + identify + <ul><li>(a) a special target ("_blank","_self" ...) or</li> + <li>(b) any well known frame</li><ul> + to search it inside the current hierarchy + + @param nSearchFlags + optional parameter to regulate search if no special target was used for <var>TargetFrameName</var> + + @see FrameSearchFlag + */ + XFrame findFrame( + [in] string aTargetFrameName, + [in] long nSearchFlags); + + //------------------------------------------------------------------------- + /** determines if the frame is a top frame. + + <p> + In general a top frame is the frame which is a direct child of + a task frame or which does not have a parent. Possible frame searches must + stop the search at such a frame unless the flag <const>FrameSearchFlag::TASKS</const> + is set. + </p> + + @return + <TRUE/> if frame supports top frame specification + <br> + <FALSE/> otherwise + */ + boolean isTop(); + + //------------------------------------------------------------------------- + /** activates this frame and thus the component within. + + <p> + At first the frame sets itself as the active frame of its + creator by calling <member>XFramesSupplier::setActiveFrame()</member>, + then it broadcasts an <type>FrameActionEvent</type> with + <const>FrameAction::FRAME_ACTIVATED</const>. The component within + this frame may listen to this event to grab the focus on activation; + for simple components this can be done by the <type>FrameLoader</type>. + </p> + + <p> + Finally, most frames may grab the focus to one of its windows + or forward the activation to a sub-frame. + </p> + + @see XFrame::deactivate() + @see XFrame::isActive() + */ + [oneway] void activate(); + + //------------------------------------------------------------------------- + /** is called by the creator frame when another sub-frame gets activated. + + <p> + At first the frame deactivates its active sub-frame, if any. + Then broadcasts a <type>FrameActionEvent</type> with + <const>FrameAction::FRAME_DEACTIVATING</const>. + </p> + + @see XFrame::activate() + @see XFrame::isActive() + */ + [oneway] void deactivate(); + + //------------------------------------------------------------------------- + /** determines if the frame is active. + + @return + <TRUE/> for active or UI active frames + <br> + <FALSE/> otherwise + + @see XFrame::activate() + @see XFrame::deactivate() + */ + boolean isActive(); + + //------------------------------------------------------------------------- + /** sets a new component into the frame or release an existing one from a frame. + + @param xComponentWindow + the window of the new component or <NULL/> for release + + <p> + A valid component window should be a child of the frame container window. + </p> + + @param xController + the controller of the new component or <NULL/> for release + + <p> + Simple components may implement a <type scope="com::sun::star::awt">XWindow</type> only. + In this case no controller must be given here. + </p> + + @return + <TRUE/>if setting of new component or release of an existing one was successfully + <br> + <FALSE/> otherwise (especialy, if an existing controller disagree within his + <member>XController::suspend()</member> call) + + @see XFrame::getComponentWindow() + @see XFrame::getContainerWindow() + @see XFrame::getController() + */ + boolean setComponent( + [in] com::sun::star::awt::XWindow xComponentWindow, + [in] XController xController); + + //------------------------------------------------------------------------- + /** provides access to the component window + + <p> + Note: Don't dispose this window - the frame is the owner of it. + </p> + + @returns + the current visible component in this frame + <br> + or <NULL/> if no one currently exist + + @see XFrame::setComponent() + */ + com::sun::star::awt::XWindow getComponentWindow(); + + //------------------------------------------------------------------------- + /** provides access to the controller + + <p> + Note: Don't dispose it - the frame is the owner of it. + Use <member>XController::getFrame()</member> to dispose + the frame after you the controller agreed with a + <member>XController::suspend()</member> call. + </p> + + @returns + the current controller within this frame + <br> + or <NULL/> if no one currently exist + + @see XFrame::setComponent() + */ + XController getController(); + + //------------------------------------------------------------------------- + /** notifies the frame that the context of the controller within this + frame changed (i.e. the selection). + + <p> + According to a call to this interface, the frame calls + <method>XFrameEventListener::frameAction</method> with + <const>FrameAction::CONTEXT_CHANGED</const> to all listeners which + are registered using <member>XFrame::addFrameActionListener</member>. + For external controllers this event can be used to requery dispatches. + + @see XFrameEventListener + @see FrameAction + @see XFrame::addFrameActionListener() + */ + void contextChanged(); + + //------------------------------------------------------------------------- + /** registers an event listener, which will be called when certain things + happen to the components within this frame or within sub-frames of this frame. + + <p> + E.g., it is possible to determine instantiation/destruction and + activation/deactivation of components. + </p> + + @param xListener + specifies the listener which will be informed + + @see XFrame::removeFrameActionListener() + */ + [oneway] void addFrameActionListener( [in]XFrameActionListener xListener ); + + //------------------------------------------------------------------------- + /** unregisters an event listener + + @param xListener + specifies the listener which willn't be informed any longer + + @see XFrame::addFrameActionListener() + */ + [oneway] void removeFrameActionListener( [in] XFrameActionListener xListener ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XFrameActionListener.idl b/offapi/com/sun/star/frame/XFrameActionListener.idl new file mode 100644 index 000000000000..8e88b469f204 --- /dev/null +++ b/offapi/com/sun/star/frame/XFrameActionListener.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XFrameActionListener.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XFrameActionListener_idl__ +#define __com_sun_star_frame_XFrameActionListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_frame_FrameActionEvent_idl__ +#include <com/sun/star/frame/FrameActionEvent.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** has to be provided if an object wants to receive events + when several things happen to components within frames of the desktop frame tree. + + <p> + E.g., you can receive events of instantiation/destruction and + activation/deactivation of components. + </p> + + @see XFrame::addFrameActionListener() + @see XFrame::removeFrameActionListener() + */ +published interface XFrameActionListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** is called whenever any action occurs to a component within a frame. + + @param Action + describes the detected frame action for which the listener can react + */ + [oneway] void frameAction( [in] FrameActionEvent Action ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XFrameLoader.idl b/offapi/com/sun/star/frame/XFrameLoader.idl new file mode 100644 index 000000000000..527f88b0ac23 --- /dev/null +++ b/offapi/com/sun/star/frame/XFrameLoader.idl @@ -0,0 +1,112 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XFrameLoader.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XFrameLoader_idl__ +#define __com_sun_star_frame_XFrameLoader_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_XFrame_idl__ +#include <com/sun/star/frame/XFrame.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_frame_XLoadEventListener_idl__ +#include <com/sun/star/frame/XLoadEventListener.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** load components into a frame + + <p> + It's an asynchronous loading. For synchronous processes use <type>XSynchronousFrameLoader</type> + instead of this one. The generic load algorithm of the office supports both ones - but prefered + the synchronous interface. + </p> + + @see XFrame + */ +published interface XFrameLoader: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** starts the loading of the specified resource into the specified <type>Frame</type>. + + @param Frame + specifies the loading target + + @param URL + describes the ressource of loading component + Support of special protocols are implementation details + and depends from the environment. + + @param Arguments + optional arguments for loading + (see <type scope="com::sun::star::document">MediaDescriptor</type> for further informations) + + @param Listener + this listener will be informed about success + + @see XLoadEventListener + */ + [oneway] void load( + [in] XFrame Frame, + [in] string URL, + [in] sequence< com::sun::star::beans::PropertyValue > Arguments, + [in] XLoadEventListener Listener); + + //------------------------------------------------------------------------- + /** cancels the loading process. + + <p> + After returning from this call, neither the frame nor the + load-event-listener specified in <member>XFrameLoader::load()</member> may be called back. + Because only the owner of this process who called load method + before can cancel this process. And he doesn't need any notification about that. + On the other hand - nobody then this owner himself can be registered as an + <type>XLoadEventListener</type> here. + </p> + */ + [oneway] void cancel(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XFrameLoaderQuery.idl b/offapi/com/sun/star/frame/XFrameLoaderQuery.idl new file mode 100644 index 000000000000..ad225604978c --- /dev/null +++ b/offapi/com/sun/star/frame/XFrameLoaderQuery.idl @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XFrameLoaderQuery.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XFrameLoaderQuery_idl__ +#define __com_sun_star_frame_XFrameLoaderQuery_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================ + + module com { + module sun { + module star { + module frame { + +//============================================================================ +/** use service <type>FrameLoaderFactory</type> instead of this + @deprecated + */ +published interface XFrameLoaderQuery: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** use member <member scope="com::sun::star::container">XNameAccess::getElementNames()</member> + provided by service <type>FrameLoaderFactory</type> instead of this + @deprecated + */ + sequence< string > getAvailableFilterNames(); + + //------------------------------------------------------------------------- + /** use member <member scope="com::sun::star::container">XNameAccess::getByName()</member> + provided by service <type>FrameLoaderFactory</type> instead of this + @deprecated + */ + sequence< ::com::sun::star::beans::PropertyValue > getLoaderProperties( [in] string sFilterName ); + + //------------------------------------------------------------------------- + /** use member <type scope="com::sun::star::container">XContainerQuery</type> + provided by service <type>FrameLoaderFactory</type> instead of this + @deprecated + */ + string searchFilter( [in] string sURL, [in] sequence< com::sun::star::beans::PropertyValue > seqArguments ); + + }; // XFrameLoaderQuery + }; // frame + }; // star + }; // sun +}; // com + +#endif diff --git a/offapi/com/sun/star/frame/XFrameSetModel.idl b/offapi/com/sun/star/frame/XFrameSetModel.idl new file mode 100644 index 000000000000..9a1f1df86aa5 --- /dev/null +++ b/offapi/com/sun/star/frame/XFrameSetModel.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XFrameSetModel.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XFrameSetModel_idl__ +#define __com_sun_star_frame_XFrameSetModel_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** use <type>XModel</type> instead of this + @deprecated + */ +published interface XFrameSetModel: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** - */ + string getSource(); + + //------------------------------------------------------------------------- + /** - */ + void setSource( [in] string Source ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XFrames.idl b/offapi/com/sun/star/frame/XFrames.idl new file mode 100644 index 000000000000..3bb22eca07b6 --- /dev/null +++ b/offapi/com/sun/star/frame/XFrames.idl @@ -0,0 +1,105 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XFrames.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XFrames_idl__ +#define __com_sun_star_frame_XFrames_idl__ + +#ifndef __com_sun_star_container_XIndexAccess_idl__ +#include <com/sun/star/container/XIndexAccess.idl> +#endif + +#ifndef __com_sun_star_frame_XFrame_idl__ +#include <com/sun/star/frame/XFrame.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** manages and creates frames. + + <p> + Frames may contain other frames (by implementing an <type>XFrames</type> + interface) and may be contained in other frames. + </p> + + @see XFrame + @see Frame + */ +published interface XFrames: com::sun::star::container::XIndexAccess +{ + //------------------------------------------------------------------------- + /** appends the specified <type>Frame</type> to the list of sub-frames. + + @param xFrame + new frame for inserting into this container + */ + void append( [in] XFrame xFrame ); + + //------------------------------------------------------------------------- + /** provides access to the list of all currently existing + frames inside this container and her sub frames + + @param nSearchFlags + use combinations of <type>FrameSearchFlag</type> to specify which + frames should be found + + @return + all frames of this container and all available frames of the whole frame tree + which match search parameter <var>SearchFlags</var> + */ + sequence< XFrame > queryFrames( [in] long nSearchFlags ); + + //------------------------------------------------------------------------- + /** removes the frame from its container. + + <p> + Note: + <ul> + <li>The method <method>XComponent::dispose()</method> is not called implicitly + by this method.</li> + <li>The creator attribute of the frame must be reset by the caller of + this method.</li> + </ul> + </p> + + @param xFrame + frame which should be removed from this container + */ + void remove( [in] XFrame xFrame ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XFramesSupplier.idl b/offapi/com/sun/star/frame/XFramesSupplier.idl new file mode 100644 index 000000000000..2b5eaefa4652 --- /dev/null +++ b/offapi/com/sun/star/frame/XFramesSupplier.idl @@ -0,0 +1,109 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XFramesSupplier.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XFramesSupplier_idl__ +#define __com_sun_star_frame_XFramesSupplier_idl__ + +#ifndef __com_sun_star_frame_XFrame_idl__ +#include <com/sun/star/frame/XFrame.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + + published interface XFrames; + +//============================================================================= +/** provides access to sub frames of current one + + @see XFrames + */ +published interface XFramesSupplier: XFrame +{ + //------------------------------------------------------------------------- + /** provides access to this container and to all other <type>XFramesSupplier</type> + which are available from this node of frame tree + + @returns + the collection of frames which is represented by + a <type>FramesContainer</type>. + */ + XFrames getFrames(); + + //------------------------------------------------------------------------- + /** gets the current active frame of this container + (not of any other available supplier) + + <p> + This may be the frame itself. The active frame is defined as + the frame which contains (recursively) the window with the focus. + If no window within the frame contains the focus, this method + returns the last frame which had the focus. If no containing + window ever had the focus, the first frame within this frame is + returned. + </p> + + @returns + the <type>Frame</type> which is active within this frame. + */ + XFrame getActiveFrame(); + + //------------------------------------------------------------------------- + /** is called on activation of a direct sub-frame. + + <p> + This method is only allowed to be called by a sub-frame according to + <member>XFrame::activate()</member> or <member>XFramesSupplier::setActiveFrame()</member>. + After this call <member>XFramesSupplier::getActiveFrame()</member> will return the + frame specified by <var>Frame</var>. + </p> + + <p> + In general this method first calls the method <member>XFramesSupplier::setActiveFrame()</member> + at the creator frame with <var>this</var> as the current argument. Then it broadcasts + the <type>FrameActionEvent</type> <const>FrameAction::FRAME_ACTIVATED</const>. + </p> + + <p> + Note: Given parameter <var>Frame</var> must already exist inside the container + (e.g., inserted by using <member>XFrames::append()</member>) + </p> + + @param Frame + the new active child frame inside this container + */ + void setActiveFrame( [in] XFrame Frame ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XInplaceLayout.idl b/offapi/com/sun/star/frame/XInplaceLayout.idl new file mode 100644 index 000000000000..b8c031a1980e --- /dev/null +++ b/offapi/com/sun/star/frame/XInplaceLayout.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XInplaceLayout.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_XInplaceLayout_idl__ +#define __com_sun_star_frame_XInplaceLayout_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** special interface to support inplace editing of components inside + OpenOffice.org. + + @deprecated + + @since OOo 2.0.0 +*/ + +interface XInplaceLayout : com::sun::star::uno::XInterface +{ + /** sets an inplace menu to the container window of the attached frame. + + @param InplaceMenuBarPointer + must be a VCL menu bar pointer which is accessible within the + layout manager process. + */ + void setInplaceMenuBar( [in] hyper InplaceMenuBarPointer ); + + /** removes an inplace menu and sets back a previously created menu bar if one + has been set before. + */ + void resetInplaceMenuBar(); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XInterceptorInfo.idl b/offapi/com/sun/star/frame/XInterceptorInfo.idl new file mode 100644 index 000000000000..545638aa9fa5 --- /dev/null +++ b/offapi/com/sun/star/frame/XInterceptorInfo.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XInterceptorInfo.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XInterceptorInfo_idl__ +#define __com_sun_star_frame_XInterceptorInfo_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= + +/** makes it possible to get information about a registered interceptor and is used by + frame interceptor mechanism to perform interception. + + <p> + Frame can call right interceptor directly without calling all of registered ones. + Use it as an additional interface to <type>XDispatchProviderInterceptor</type>. + If any interceptor in list doesn't support this interface - these mechanism will be broken + and normal list of master-slave interceptor objects will be used from top to the bottom. + </p> + + @see XDispatchProviderInterception + @see XDispatchProviderInterceptor + */ +published interface XInterceptorInfo: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns the URL list for interception. + + <p> + Wildcards inside the URL's are allowed to register the interceptor for + URL's too, which can have optional arguments (e.g. "..#.." or "..?.."). + </p> + + @return + a list of URL's wich are handled by this interceptor + */ + sequence< string > getInterceptedURLs(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XLayoutManager.idl b/offapi/com/sun/star/frame/XLayoutManager.idl new file mode 100644 index 000000000000..ed822377d483 --- /dev/null +++ b/offapi/com/sun/star/frame/XLayoutManager.idl @@ -0,0 +1,513 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XLayoutManager.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_XLayoutManager_idl__ +#define __com_sun_star_frame_XLayoutManager_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_XFrame_idl__ +#include <com/sun/star/frame/XFrame.idl> +#endif + +#ifndef __com_sun_star_awt_Point_idl__ +#include <com/sun/star/awt/Point.idl> +#endif + +#ifndef __com_sun_star_awt_Size_idl__ +#include <com/sun/star/awt/Size.idl> +#endif + +#ifndef __com_sun_star_awt_XWindow_idl__ +#include <com/sun/star/awt/XWindow.idl> +#endif + +#ifndef __com_sun_star_ui_XUIElement_idl__ +#include <com/sun/star/ui/XUIElement.idl> +#endif + +#ifndef __com_sun_star_ui_DockingArea_idl__ +#include <com/sun/star/ui/DockingArea.idl> +#endif + +#ifndef __com_sun_star_ui_XDockingAreaAcceptor_idl__ +#include <com/sun/star/ui/XDockingAreaAcceptor.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** central interface to query for, create, destroy and manipulate user + interface elements which are bound to a layout manager. + + <p> + Every user interface element which is controlled by a layout manager has + a unique identifier called resource URL. + + A resourcce URL must meet the following syntax: + "private:resource/$type/$name". It is only allowed to use ascii characters + for type and name. + + Currently the following user interface element types are defined: + <ul> + <li><b>menubar</b>A configurable user interface element representing + a menu bar.</li> + <li><b>popupmenu</b>A configurable user interface element representing + a popup menu.</li> + <li><b>toolbar</b>A configurable user interface element a tool + bar.</li> + <li><b>statusbar</b>A configurable user interfave element representing + a status bar.</li> + <li><b>floater</b>A basic user interface element representing a + floating window.</li> + </ul> + + @see com::sun::star::ui::UIElementTypes + @see com::sun::star::frame::XFrame + </p> + + @since OOo 2.0.0 +*/ + +interface XLayoutManager : com::sun::star::uno::XInterface +{ + /** attaches a <type scope="com::sun::star::frame">XFrame</type> to a layout manager. + + @param Frame + specifies the frame that should be attached to the layout manager + + <p> + A layout manager needs a <type scope="com::sun::star::frame">XFrame</type> to be + able to work. Without a it no user interface elements can be created. + </p> + */ + void attachFrame( [in] com::sun::star::frame::XFrame Frame ); + + /** resets the layout manager and remove all of its internal user interface + elements. + + <p> + This call should be handled with care as all user interface elements will + be destroyed and the layout manager is reseted to a state after a + <member>attachFrame</member> has been made. That means an attached frame + which has been set by <member>attachFrame</member> is not released. + The layout manager itself calls reset after a component has been attached + or reattached to a frame. + </p> + */ + void reset(); + + /** provides the current docking area size of the layout manager. + + @return + The <type scope="com::sun::star::awt">Rectangle</type> contains pixel values. The + members of <type scope="com::sun::star::awt">Rectangle</type> are filled as following: + <ul> + <li>X = docking area on left side (in pixel)</li> + <li>Y = docking area on top side (in pixel)</li> + <li>Width = docking area on right side (in pixel)</li> + <li>Height = docking area on bottom side (in pixel)</li> + </ul> + */ + com::sun::star::awt::Rectangle getCurrentDockingArea(); + + /** retrieves the current docking area acceptor that controls the border space of the frame's + container window. + + @return + current docking area acceptor which controls the border space of frame's container window. + + <p> + A docking area acceptor retrieved by this method is owned by the layout manager. It is not + allowed to dispose this object, it will be destroyed on reference count! + </p> + */ + com::sun::star::ui::XDockingAreaAcceptor getDockingAreaAcceptor(); + + /** sets a docking area acceptor that controls the border space of the frame's container window. + + @param xDockingAreaAcceptor + a docking area acceptor which controls the border space of frame's container window. + + <p> + A docking area acceptor decides if the layout manager can use requested border space for + docking windows. If the acceptor denies the requested space the layout manager automatically + set all docked windows into floating state and will not use this space for docking.<br/> + After setting a docking area acceptor the object is owned by the layout manager. It is not + allowed to dispose this object, it will be destroyed on reference count! + </p> + */ + void setDockingAreaAcceptor( [in] com::sun::star::ui::XDockingAreaAcceptor xDockingAreaAcceptor ); + + /** creates a new user interface element. + + @param ResourceURL + specifies which user interface element should be created. A resourcce URL must meet the following + syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + */ + void createElement( [in] string ResourceURL ); + + /** destroys a user interface element. + + @param ResourceURL + specifies which user interface element should be destroyed. A resourcce URL must meet + the following syntax: "private:resource/$type/$name". It is only allowed to use ascii + characters for type and name. + */ + void destroyElement( [in] string ResourceURL ); + + /** request to make a user interface element visible if it is not in hidden state. + + @param ResourceURL + specifies which user interface element should be made visible. A resourcce URL must + meet the following syntax: "private:resource/$type/$name". It is only allowed to use + ascii characters for type and + name. + + @return + returns <TRUE/> if the user interface element could be made visible, otherwise + <FALSE/> will be returned. + + <p> + If a user interface element should forced to the visible state + <member>XLayoutManager::showElement</member> should be used. This function can be + used for context dependent elements which should respect a the current visibility + state. + </p> + */ + boolean requestElement( [in] string ResourceURL ); + + /** retrieves a user interface element which has been created before. + + @param ResourceURL + specifies which user interface element should be retrieved. A resourcce URL must meet the following + syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + <p> + The layout manager instance is owner of the returned user interface element. That means that the life time of + the user interface element is controlled by the layout manager. It can be disposed at every time! + </p> + */ + com::sun::star::ui::XUIElement getElement( [in] string ResourceURL ); + + /** retrieves all user interface elements which are currently instanciated. + + @return + a sequence of user interface elements providing <type scope="com::sun::star::ui">XUIElement</type> + interface. + + <p> + The layout manager instance is owner of the returned user interface elements. That means that the life time of + the user interface elements is controlled by the layout manager. They can be disposed at every time! + </p> + */ + sequence< com::sun::star::ui::XUIElement > getElements(); + + /** shows a user interface element. + + @param ResourceURL + specifies which user interface element should be shown. A resourcce URL must meet the following + syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @return + returns <TRUE/> if the user interface element has been shown, otherwise <FALSE/> will be returned. + */ + boolean showElement( [in] string ResourceURL ); + + /** hides a user interface element. + + @param ResourceURL + specifies which user interface element should be hidden. A resourcce URL must meet the following + syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @return + returns <TRUE/> if the user interface element has been hidden, otherwise <FALSE/> will be returned. + */ + boolean hideElement( [in] string ResourceURL ); + + /** docks a window based user interface element to a specified docking area. + + @param ResourceURL + specifies which user interface element should be docked. A resourcce URL must meet the following + syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @param DockingArea + specifies on which docking area the window based user interface element should docked. + + @param Pos + specifies the position inside the docking area. + + @return + returns <TRUE/> if the user interface element has been docked, otherwise <FALSE/> will be returned. + + @see com::sun::star::ui::DockingArea + */ + boolean dockWindow( [in] string ResourceURL, [in] com::sun::star::ui::DockingArea DockingArea, [in] com::sun::star::awt::Point Pos ); + + /** docks all windows which are member of the provided user interface element type. + + @param nElementType + specifies which user interface element type should be docked. + + @return + returns <TRUE/> if all user interface elements of the requested type could be + docked, otherwise <FALSE/> will be returned. + + @see com::sun::star::ui::UIElementType + */ + boolean dockAllWindows( [in] short nElementType ); + + /** forces a window based user interface element to float. + + @param ResourceURL + specifies which user interface element should be float. A resourcce URL must meet the following + syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @return + returns <TRUE/> if the user interface element has been docked, otherwise <FALSE/> will be returned. + */ + boolean floatWindow( [in] string ResourceURL ); + + /** locks a window based user interface element if it's in a docked state. + + @param ResourceURL + specifies which user interface element should be locked. A resourcce URL must meet the following + syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @return + returns <TRUE/> if the user interface element has been locked, otherwise <FALSE/> will be returned. + */ + boolean lockWindow( [in] string ResourceURL ); + + /** unlocks a window based user interface element if it's in a docked state. + + @param ResourceURL + specifies which user interface element should be unlocked. A resourcce URL must + meet the following syntax: "private:resource/$type/$name". It is only allowed + to use ascii characters for type and name. + + @return + returns <TRUE/> if the user interface element has been unlocked, otherwise + <FALSE/> will be returned. + */ + boolean unlockWindow( [in] string ResourceURL ); + + /** sets a new size for a window based user interface element. + + @param ResourceURL + specifies which user interface element should be resized. A resourcce URL must meet the following + syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @param Size + specifies the new size in pixel. + + <p> + It is up to the layout manager to decide if the user interface element can be resized. The new size can be retrieved + by calling <member>getElementSize</member>. + </p> + */ + void setElementSize( [in] string ResourceURL, [in] com::sun::star::awt::Size Size ); + + /** sets a new position for a window based user interface element. + + @param ResourceURL + specifies which user interface element should be moved. A resourcce URL must meet the following + syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @param Pos + specifies the new position in pixel. + + <p> + It is up to the layout manager to decide if the user interface element can be moved. The new position can be retrieved + by calling <member>getElementPos</member>. + </p> + */ + void setElementPos( [in] string ResourceURL, [in] com::sun::star::awt::Point Pos ); + + /** sets a new position and size for a window based user interface element. + + @param ResourceURL + specifies which user interface element should be moved and resized. A resourcce URL must meet the following + syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @param Pos + specifies the new position in pixel. + + @param Size + specifies the new position in pixel. + + <p> + It is up to the layout manager to decide if the user interface element can be moved and resized. The new position and size can + be retrieved by calling <member>getElementPos</member> and <member>getElementSize</member>. + </p> + */ + void setElementPosSize( [in] string ResourceURL, [in] com::sun::star::awt::Point Pos, [in] com::sun::star::awt::Size Size ); + + /** retrieves the current visibility state of a window based user interface element. + + @param ResourceURL + specifies for which user interface element the visibility state should be retrieved. A resource URL must meet + the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @return + <TRUE/> if the user interface element is visible, otherwise <FALSE/>. + */ + boolean isElementVisible( [in] string ResourceURL ); + + /** retrieves the current floating state of a window based user interface element. + + @param ResourceURL + specifies for which user interface element the floating state should be retrieved. A resource URL must meet + the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @return + <TRUE/> if the user interface element is floating, otherwise <FALSE/>. + */ + boolean isElementFloating( [in] string ResourceURL ); + + /** retrieves the current docking state of a window based user interface element. + + @param ResourceURL + specifies for which user interface element the docking state should be retrieved. A resource URL must meet + the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @return + <TRUE/> if the user interface element is docked, otherwise <FALSE/>. + */ + boolean isElementDocked( [in] string ResourceURL ); + + /** retrieves the current lock state of a window based user interface element. + + @param ResourceURL + specifies for which user interface element the lock state should be retrieved. A resource URL must meet + the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @return + <TRUE/> if the user interface element is locked, otherwise <FALSE/>. + */ + boolean isElementLocked( [in] string ResourceURL ); + + /** retrieves the current size of a window based user interface element. + + @param ResourceURL + specifies for which user interface element the current size should be retrieved. A resource URL must meet + the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @return + the size in pixel of the user interface element. A non-window based user interface element provides a zero size. + */ + com::sun::star::awt::Size getElementSize( [in] string ResourceURL ); + + /** retrieves the current pixel position of a window based user interface element. + + @param ResourceURL + specifies for which user interface element the current position should be retrieved. A resource URL must meet + the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and + name. + + @return + the size in pixel of the user interface element. A non-window based user interface element provides a zero size. + */ + com::sun::star::awt::Point getElementPos( [in] string ResourceURL ); + + /** prohibit all layout updates until unlock is called again. + + <p> + This call can be used to speed up the creation process of serveral user interface elements. Otherwise the layout manager + would calculate the layout for every creation. + </p> + */ + void lock(); + + /** permit layout updates again. + + <p> + This function should be called to permit layout updates. The layout manager starts to calculate the new layout after + this call. + </p> + */ + void unlock(); + + /** forces a complete new layouting of all user interface elements. + */ + void doLayout(); + + /** sets the layout manager to invisible state and hides all user interface elements. + + <p> + A layout manager can be set to invisible state to force it to hide all of its + user interface elements. If another component wants to use the window for its + own user interface elements it can use this function. This function is normally + used to implement inplace editing. + </p> + + @param Visible + provide <FALSE/> to make layout manager invisible otherwise this must be + set to <TRUE/>. + */ + void setVisible( [in] boolean Visible ); + + /** retrieves the visibility state of a layout manager. + + <p> + A layout manager can be set to invisible state to force it to hide all of its + user interface elements. If another component wants to use the window for its + own user interface elements it can use this function. This function is normally + used to implement inplace editing. + </p> + + */ + boolean isVisible(); + +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl new file mode 100644 index 000000000000..04a427df75e8 --- /dev/null +++ b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XLayoutManagerEventBroadcaster.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__ +#define __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__ + +#ifndef __com_sun_star_frame_XLayoutManagerListener_idl__ +#include <com/sun/star/frame/XLayoutManagerListener.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** makes it possible to receive events from a layout manager. + + @see ::com::sun::star::frame::LayoutManager + + @since OOo 2.0.0 + */ + +interface XLayoutManagerEventBroadcaster : com::sun::star::uno::XInterface +{ + /** adds a layout manager event listener to the object's listener list. + + @param aLayoutManagerListener + a listener that wants to receive events regarding user interface + elements that are controlled by a layout manager. + */ + void addLayoutManagerEventListener( [in] XLayoutManagerListener aLayoutManagerListener ); + + /** removes a layout manager event listener from the object's listener + list. + + @param aLayoutManagerListener + a listener that don't want to receive events regarding user + interface elements that are controlled by a layout manager. + */ + void removeLayoutManagerEventListener( [in] XLayoutManagerListener aLayoutManagerListener ); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XLayoutManagerListener.idl b/offapi/com/sun/star/frame/XLayoutManagerListener.idl new file mode 100644 index 000000000000..b6d7da44e653 --- /dev/null +++ b/offapi/com/sun/star/frame/XLayoutManagerListener.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XLayoutManagerListener.idl,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XLayoutManagerListener_idl__ +#define __com_sun_star_frame_XLayoutManagerListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** makes it possible to receive events from a layout manager. + + <p>Events are provided <strong>only</strong> for notification + purposes only. All operations are handled interally by the + layout manager component, so that GUI layout works properly + regardless of whether a component registers such a listener + or not.</p> + + @see ::com::sun::star::frame::LayoutManager + @see ::com::sun::star::frame::LayoutManagerEvents + + @since OOo 2.0.0 + */ +interface XLayoutManagerListener : com::sun::star::lang::XEventListener +{ + //============================================================================= + /** is invoked when a layout manager has made a certain operation. + + @param aSource + reference to the layout manager which invoked the event. + + @param eLayoutEvent + identifies the layout event that has occured. + + @param aInfo + provides additional information about the event. The type + of info depends on the event. + */ + void layoutEvent( [in] com::sun::star::lang::EventObject aSource, [in] short eLayoutEvent, [in] any aInfo ); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XLoadEventListener.idl b/offapi/com/sun/star/frame/XLoadEventListener.idl new file mode 100644 index 000000000000..5e5a0fc6bb7a --- /dev/null +++ b/offapi/com/sun/star/frame/XLoadEventListener.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XLoadEventListener.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XLoadEventListener_idl__ +#define __com_sun_star_frame_XLoadEventListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + + published interface XFrameLoader; + +//============================================================================= +/** is used to receive callbacks from an asynchronous frame loader. + + @see XFrameLoader + */ +published interface XLoadEventListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** is called when a new component is loaded into a frame successfully. + + @param Loader + the source of this event + */ + [oneway] void loadFinished( [in] XFrameLoader Loader ); + + //------------------------------------------------------------------------- + /** is called when a frame load is cancelled or failed. + + @param Loader + the source of this event + */ + [oneway] void loadCancelled( [in] XFrameLoader Loader ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XLoadable.idl b/offapi/com/sun/star/frame/XLoadable.idl new file mode 100644 index 000000000000..4eac5ad70b30 --- /dev/null +++ b/offapi/com/sun/star/frame/XLoadable.idl @@ -0,0 +1,88 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XLoadable.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XLoadable_idl__ +#define __com_sun_star_frame_XLoadable_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +#ifndef __com_sun_star_frame_DoubleInitializationException_idl__ +#include <com/sun/star/frame/DoubleInitializationException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** offers a simple way to initialize a component or load it from an URL. + <p>In case an object supports the interface the object must be initialized + with either initNew() or load() call before any usage. In case the object + is already initialized the mentioned methods should throw DoubleInitializationException. + </p> + + @since OOo 1.1.2 + */ +published interface XLoadable: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** creates a component from scratch + */ + void initNew() + raises( DoubleInitializationException, com::sun::star::io::IOException, com::sun::star::uno::Exception ); + + //------------------------------------------------------------------------- + /** loads a component from an URL + @param lArguments + parameters for saving + (see <type scope="com::sun::star::document">MediaDescriptor</type> for further details) + the FileName parameter must be specified, other parameters are optional + */ + + void load( [in] sequence<com::sun::star::beans::PropertyValue> lArguments ) + raises( DoubleInitializationException, com::sun::star::io::IOException, com::sun::star::uno::Exception ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XMenuBarAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl new file mode 100644 index 000000000000..74265e0617b8 --- /dev/null +++ b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XMenuBarAcceptor.idl,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_LayoutManager_idl__ +#define __com_sun_star_frame_LayoutManager_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_awt_XMenuBar_idl__ +#include <com/sun/star/awt/XMenuBar.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** provides function to update a menu bar for inplace editing. + + @deprecated + + @since OOo 2.0.0 +*/ + +interface XMenuBarAcceptor : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** update menu bar according to the current frame mode. This is used in + inplace editing mode where we have to merge our own menu into the + container applications menu. + + @param xMenuBar + the menu bar that should be merged with current one. + */ + void updateMenuBar( [inout] com::sun::star::awt::XMenuBar xMenuBar ); + +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl new file mode 100644 index 000000000000..4d22ca8e8de2 --- /dev/null +++ b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XMenuBarMergingAcceptor.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_XMenuBarMergingAcceptor_idl__ +#define __com_sun_star_frame_XMenuBarMergingAcceptor_idl__ + +#ifndef __com_sun_star_container_XIndexAccess_idl__ +#include <com/sun/star/container/XIndexAccess.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchProvider_idl__ +#include <com/sun/star/frame/XDispatchProvider.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** provides functions to set and remove a merged menu bar for inplace + editing. + + @since OOo 2.0.0 +*/ + +interface XMenuBarMergingAcceptor : com::sun::star::uno::XInterface +{ + /** allows to set a merged menu bar. + + @param xMergedMenuBar + specifies the merged menu bar. + + <p> + This function is normally used to provide inplace editing where + functions from two application parts, container application and + embedded object, are available to the user simultaneously. A menu + bar which is set by this method has a higher priority than others + created by <type scope="com::sun::star::frame">XLayoutManager</type> + interface. Settings of a merged menu bar cannot be retrieved. + </p> + + @see com::sun::star::ui::UIElementSettings + @see com::sun::star::frame::XDispatchProvider + @see com::sun::star::frame::XLayoutManager + */ + boolean setMergedMenuBar( + [in] ::com::sun::star::container::XIndexAccess xMergedMenuBar ); + + /** removes a previously set merged menu bar and sets a previously created + menu bar back. + */ + void removeMergedMenuBar(); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XModel.idl b/offapi/com/sun/star/frame/XModel.idl new file mode 100644 index 000000000000..8d1448c00a7e --- /dev/null +++ b/offapi/com/sun/star/frame/XModel.idl @@ -0,0 +1,239 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XModel.idl,v $ + * $Revision: 1.11 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XModel_idl__ +#define __com_sun_star_frame_XModel_idl__ + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_frame_XController_idl__ +#include <com/sun/star/frame/XController.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** represents a component which is created from an URL and arguments. + + <p> + It is a representation of a resource in the sense that it was + created/loaded from the resource. The arguments are passed to the loader + to modify its behavior. An example for such an argument is "AsTemplate", + which loads the resource as a template for a new document. + (see <type scope="com::sun::star::document">MediaDescriptor</type> for further details) + </p> + + <p> + Models can be controlled by controller components, which are usually + views of the model. + (see <type>Controller</type> for further details) + </p> + + <p> + If there is at least one controller, there is by definition a + current controller. And if that controller supports the interface + <type scope="com::sun::star::view">XSelectionSupplier</type>, it has a current selection too. + </p> + + @see com::sun::star::document::MediaDescriptor + @see Controller + @see com::sun::star::view::XSelectionSupplier + */ +published interface XModel: com::sun::star::lang::XComponent +{ + //------------------------------------------------------------------------- + /** informs a model about its resource description. + + @param URL + specifies the ressource + + @param Arguments + are optional arguments for that ressource + (see <type scope="com::sun::star::document">MediaDescriptor</type>) + + @return + <TRUE/> for success + <br> + <FALSE/> otherwise + */ + boolean attachResource( + [in] string URL, + [in] sequence<com::sun::star::beans::PropertyValue> Arguments); + + //------------------------------------------------------------------------- + /** provides information about the location of this model + + @returns + the URL of the resource which is represented by this model. + + @see XStorable::getLocation() + */ + string getURL(); + + //------------------------------------------------------------------------- + /** provides read acces on currently representation of the + <type scope="com::sun::star::document">MediaDescriptor</type> + of this model which describes the model and his state + + @returns + the arguments with which the model was originally created or + stored the last time. + */ + sequence< com::sun::star::beans::PropertyValue > getArgs(); + + //------------------------------------------------------------------------- + /** is called whenever a new controller is created for this model. + + <p> + The <type scope="com::sun::star::lang">XComponent</type> interface + of the controller must be used to recognize when it is deleted. + </p> + + @param Controller + a new controller for this model + + @see XModel::disconnectController() + */ + [oneway] void connectController( [in] XController Controller ); + + //------------------------------------------------------------------------- + /** is called whenever an existing controller should be deregistered at this model. + + <p> + The <type scope="com::sun::star::lang">XComponent</type> interface + of the controller must be used to recognize when it is deleted. + </p> + + @param Controller + the existing controller which should be deregistered + + @see XModel::connectController() + */ + [oneway] void disconnectController( [in] XController Controller ); + + //------------------------------------------------------------------------- + /** suspends some notifications to the controllers which are used + for display updates. + + <p> + The calls to <member>XModel::lockControllers()</member> and + <member>XModel::unlockControllers()</member> may be + nested and even overlapping, but they must be in pairs. While + there is at least one lock remaining, some notifications + for display updates are not broadcasted. + </p> + */ + [oneway] void lockControllers(); + + //------------------------------------------------------------------------- + /** resumes the notifications which were suspended by + <member>XModel::lockControllers()</member>. + + <p> + The calls to <member>XModel::lockControllers()</member> and + <member>XModel::unlockControllers()</member> may be + nested and even overlapping, but they must be in pairs. While + there is at least one lock remaining, some notifications for + display updates are not broadcasted. + </p> + */ + [oneway] void unlockControllers(); + + //------------------------------------------------------------------------- + /** determines if there is at least one lock remaining. + + <p> + While there is at least one lock remaining, some notifications + for display updates are not broadcasted to the controllers. + </p> + + @return + <TRUE/> if any lock exist + <br> + <FALSE/> otherwise + */ + boolean hasControllersLocked(); + + //------------------------------------------------------------------------- + /** provides access to the controller which currently controls this model + + @returns + If the controller which is active is a controller of this model, + it will be returned. If not, the controller which was the last + active of this model is returned. If no controller of this model + ever was active, the controller first registered is returned. If no + controller is registered for this model, <NULL/> is returned. + */ + XController getCurrentController(); + + //------------------------------------------------------------------------- + /** sets a registered controller as the current controller. + + @param Controller + reference to an already existing connected controller, which should be + the new active one + + @throws com::sun::star::container::NoSuchElementException + if <var>xController</var> isn't an already connected controller on this model + */ + void setCurrentController( [in] XController Controller ) + raises( com::sun::star::container::NoSuchElementException ); + + //------------------------------------------------------------------------- + /** provides read access on current selection on controller + + @returns + the current selection in the current controller. + If there is no current controller, it returns <NULL/>. + */ + com::sun::star::uno::XInterface getCurrentSelection(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XModel2.idl b/offapi/com/sun/star/frame/XModel2.idl new file mode 100644 index 000000000000..29389a0b16a5 --- /dev/null +++ b/offapi/com/sun/star/frame/XModel2.idl @@ -0,0 +1,155 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XModel2.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XModel2_idl__ +#define __com_sun_star_frame_XModel2_idl__ + +#include <com/sun/star/frame/XController2.idl> +#include <com/sun/star/frame/XModel.idl> +#include <com/sun/star/container/XEnumeration.idl> +#include <com/sun/star/awt/XWindow.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** extends interface XModel. + + The foloowing functions are added: + + - enumeration of all currently connected controller objects. + (not getCurrentController() only, which depends on focus) + + - establish new view controller factory methods, which will make + it possible to create new views for this model. + */ +interface XModel2 : com::sun::star::frame::XModel +{ + //------------------------------------------------------------------------- + /** provides list of all currently connected controller objects. + + <p> + Please note: Because this interface will might be used inside + multi threaded environments those list can contain still disposed items + or it new added controller will be missing (if they was added after this + enumeration was created). + </P> + + @returns + list of controller objects. + Enumeration can be empty but not NULL. + */ + com::sun::star::container::XEnumeration getControllers(); + + //------------------------------------------------------------------------- + /** provides the available names of the factory to be used to create views. + + <p>The names are usually logical view names. The following names have + a defined meaning, i.e. every concrete implementation which returns such + a name must ensure it has the same meaning, and if a concrete implementation + has a view with the given meaning, it must give it the name as defined here: + <ul> + <li><b>Default</b> specifies the default view of the document.</li> + <li><b>Preview</b> specifies a preview of the document. A minimal implementation of such a view + is a <em>Default</em> view which is read-only.</li> + <li><b>PrintPreview</b> specifies a print preview of the document.</li> + </ul> + </p> + + <p>Implementations of this interface might decide to support additional + view names, which then are documented in the respective service descriptions.</p> + + @see createView + + @returns + a sequence of names of all supported views for this document. + */ + sequence< string > getAvailableViewControllerNames(); + + //------------------------------------------------------------------------- + /** creates the default view instance for this model. + + <p>Effectively, this method is equivalent to calling <member>createView</member> with + the <code>ViewName</code> being <code>"Default"</code>.</p> + + @param Frame + used to place the new created view there + + @return the new view controller instance + + @throws ::com::sun::star::lang::IllegalArgumentException + if one of the given parameter was wrong + + @throws ::com::sun::star::uno::Exception + if creation of a new view failed by other reasons + */ + com::sun::star::frame::XController2 createDefaultViewController( [in] com::sun::star::frame::XFrame Frame ) + raises (com::sun::star::lang::IllegalArgumentException, + com::sun::star::uno::Exception ); + + //------------------------------------------------------------------------- + /** creates a new view instance classified by the specified name and arguments. + + <p>The newly created controller must not be connected with the document and the + frame. That is, you should neither call <member>XFrame::setComponent</member>, nor + <member>XController::attachFrame</member>, nor <member>XController::attachModel</member>, + nor <member>XModel::connectController</member>, not <member>XModel::setCurrentController</member>. + All of this is the responsibility of the caller, which will do it in the proper order.</p> + + @param ViewName + classified name of instance + + @param Arguments + arguments used for creation + + @param Frame + used to place the new created view there + + @return the new view controller instance + + @throws ::com::sun::star::lang::IllegalArgumentException + if one of the given parameter was wrong + + @throws ::com::sun::star::uno::Exception + if creation of a new view failed by other reasons + */ + com::sun::star::frame::XController2 createViewController( [in] string ViewName , + [in] sequence< com::sun::star::beans::PropertyValue > Arguments , + [in] com::sun::star::frame::XFrame Frame ) + raises (com::sun::star::lang::IllegalArgumentException, + com::sun::star::uno::Exception ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XModule.idl b/offapi/com/sun/star/frame/XModule.idl new file mode 100644 index 000000000000..b78f5c51e5ff --- /dev/null +++ b/offapi/com/sun/star/frame/XModule.idl @@ -0,0 +1,82 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XModule.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_XModule_idl__ +#define __com_sun_star_frame_XModule_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_frame_UnknownModuleException_idl__ +#include <com/sun/star/frame/UnknownModuleException.idl> +#endif + +//=============================================== + +module com { module sun { module star { module frame { + +//=============================================== +/** can be used to overrule identification of office modules. + + <p> + Normaly an office module will be identified by it's service name + in combination with a set of configuration data. + But sometimes whole existing office modules will be used as black box components + to implement a different office module on top of it. Patching a service name + is not possible. So this optional interface can be used to overwrite identification + of a module. + </p> + + @see XModuleManager + + @since OOo 2.3.0 + */ +interface XModule : com::sun::star::uno::XInterface +{ + //------------------------------------------- + /** @param Identifier + a new "name" for this module. + */ + void setIdentifier([in] string Identifier); + + //------------------------------------------- + /** @return the module identifier. + */ + string getIdentifier(); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XModuleManager.idl b/offapi/com/sun/star/frame/XModuleManager.idl new file mode 100644 index 000000000000..5650c26c7f9a --- /dev/null +++ b/offapi/com/sun/star/frame/XModuleManager.idl @@ -0,0 +1,118 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XModuleManager.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_XModuleManager_idl__ +#define __com_sun_star_frame_XModuleManager_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_frame_UnknownModuleException_idl__ +#include <com/sun/star/frame/UnknownModuleException.idl> +#endif + +//=============================================== + +module com { module sun { module star { module frame { + +//=============================================== +/** can be used to identify office modules. + + @since OOo 2.0.0 + */ +interface XModuleManager : com::sun::star::uno::XInterface +{ + //------------------------------------------- + /** + @short identifies the given module. + + @descr This identifier can then be used at the service <type>ModuleManager</type> + to get more information about this module. + + For identification the interface <type scope="com::sun::star::lang">XServiceInfo</type> + is requested on the given module. Because all module service registrations must be unique + this value can be queried and checked against the configuration. + + Since OOo 2.3.0 also the optional interface <type>XModule</type> will be used. + If its exists it will be preferred. + + @param Module + Possible objects for this parameter can be the following one: + <ul> + <li> + <b><type scope="com::sun::star::frame">XFrame</type></b><br> + A frame contains (against a component window) a controller. + Such controller represent the module (in case no model exists). + </li> + <li> + <b><type scope="com::sun::star::frame">XController</type></b><br> + A controller can be bound to a model. Then the model represent the module. + If no model exists - the controller is used for identification. + </li> + <li> + <b><type scope="com::sun::star::frame">XModel</type></b><br> + A model represent a module everytimes and can be used for + identification directly. + </li> + </ul> + + @throws <type scope="com::sun::star::lang">IllegalArgumentException</type> + if the parameter Module is: + <ul> + <li>an empty one</li> + <li>or does not provide one of the needed interface + XFrame, XControllerm, XModel</li> + <li>or does not provide the needed interface XServiceInfo.</li> + </ul> + + @throws <type>UnknownModuleException</type> + if the given module could not be identified. + Note: If the module represent a XFrame instance with does not contain + a document, this exception is thrown too! + + @return An identifier for the given module. + Note: This value is valie everytimes. Error will be transported + by thrown exceptions! + */ + string identify( [in] ::com::sun::star::uno::XInterface Module ) + raises(::com::sun::star::lang::IllegalArgumentException, + UnknownModuleException ); + + +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XNotifyingDispatch.idl b/offapi/com/sun/star/frame/XNotifyingDispatch.idl new file mode 100644 index 000000000000..f4a11e11e1d7 --- /dev/null +++ b/offapi/com/sun/star/frame/XNotifyingDispatch.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XNotifyingDispatch.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XNotifyingDispatch_idl__ +#define __com_sun_star_frame_XNotifyingDispatch_idl__ + +#ifndef __com_sun_star_frame_XDispatch_idl__ +#include <com/sun/star/frame/XDispatch.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchResultListener_idl__ +#include <com/sun/star/frame/XDispatchResultListener.idl> +#endif +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** dispatch with guaranteed notify (instead of <type>XDispatch</type>) + + @see XDispatch + @see XStatusListener + */ +published interface XNotifyingDispatch: XDispatch +{ + //------------------------------------------------------------------------- + /** Do the same like <member>XDispatch::dispatch()</member> but notifies + listener in every case. Should be used if result must be known. + + @param URL + full parsed URL describes the feature which should be dispatched (executed) + + @param Arguments + optional arguments for this request + (see <type scope="com::sun::star::document">MediaDescriptor</type>) + + @param Listener + optional listener for guaranteed notifications of this request + */ + [oneway] void dispatchWithNotification( + [in] com::sun::star::util::URL URL, + [in] sequence<com::sun::star::beans::PropertyValue> Arguments, + [in] XDispatchResultListener Listener); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XPopupMenuController.idl b/offapi/com/sun/star/frame/XPopupMenuController.idl new file mode 100644 index 000000000000..eee820b1de52 --- /dev/null +++ b/offapi/com/sun/star/frame/XPopupMenuController.idl @@ -0,0 +1,84 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XPopupMenuController.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_XPopupMenuController_idl__ +#define __com_sun_star_frame_XPopupMenuController_idl__ + +#ifndef __com_sun_star_awt_XPopupMenu_idl__ +#include <com/sun/star/awt/XPopupMenu.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** provides data to a popup menu controller implementation to + fill and update a popup menu dynamically. + + <p> + A popup menu controller gets a <type scope="com::sun::star::awt">XPopupMenu</type> + from its parent menu implementation. The controller has to fill this popup + menu with a set of menu items and/or sub menus. The parent menu implementation + briefs the controller whenever the popup menu gets activated by a user. + </p> + + @since OOo 2.0.0 +*/ +interface XPopupMenuController : com::sun::star::uno::XInterface +{ + /** provides a <type scope="com::sun::star::awt">XPopupMenu</type> to a + popup menu controller implementation. The controller must fill this + popup menu with its functions. + + @param PopupMenu + An empty popup menu that must be filled by the popup menu controller. + */ + void setPopupMenu( [in] com::sun::star::awt::XPopupMenu PopupMenu ); + + /** briefs the popup menu controller to update the contents of the provided + popup menu to reflect the current state. + + <p>A controller should <b>never</b> update the popup menu structure on its + own to prevent performance problems. A better way would be that a controller + registers itself as status listener to for a command URL and immediately + deregister after that. Therefor status updates will not be send regularly + for a non visible popup menu. + </p> + */ + void updatePopupMenu(); +}; + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/frame/XRecordableDispatch.idl b/offapi/com/sun/star/frame/XRecordableDispatch.idl new file mode 100644 index 000000000000..ad6591b00edc --- /dev/null +++ b/offapi/com/sun/star/frame/XRecordableDispatch.idl @@ -0,0 +1,117 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XRecordableDispatch.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XRecordableDispatch_idl__ +#define __com_sun_star_frame_XRecordableDispatch_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchRecorder_idl__ +#include <com/sun/star/frame/XDispatchRecorder.idl> +#endif + +#ifndef __com_sun_star_util_URL_idl__ +#include <com/sun/star/util/URL.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** extends an existing <type>XDispatch</type> implementation with functionality + for dispatch recording + + <p> + This interface can be implemented as an additional one beside an existing + <type>XDispatch</type> one to provide record functionality of dispatches. + Because it's an additional interface the status events are available there + and not at this interface. + </p> + + <p> + But normaly this interface mustn't be used directly. + If a dispatch object is well known and recording was enabled + on a <type>XDispatchRecorderSupplier</type> it's possible to use method + <member>XDispatchRecorderSupplier::dispatchAndRecord()</member> of it + to make dispatch and recording automaticly. The interface XRecordableDispatch + is used transparently there. + </p> + + @example + <listing> + <i>XDispatch</i> xDispatcher = xFrame.queryDispatch(aURL,"",0); + <i>XRecordableDispatch</i> xRecordable = (<i>XRecordableDispatch</i>)UnoRuntime.queryInterface( + XRecordableDispatch.class, + xDispatcher); + + xDispatcher.addStatusListener(this,aURL); + + <b>if</b> (xRecordable!=<b>null</b>) + xRecordable.dispatchAndRecord(aURL,lArguments,xRecorder); + else + xDispatcher.dispatch(aURL,lArguments); + ... + xDispatcher.removeStatusListener(this,aURL); + </listing> + + @see XDispatchRecorderSupplier + @see XDispatch + + @since OOo 1.1.2 + */ +published interface XRecordableDispatch: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** dispatch and record it + + @param URL + full parsed URL wich describe the feature which should be dispatched (executed) + + @param Arguments + optional arguments for this request + (see <type scope="com::sun::star::document">MediaDescriptor</type> for details) + + @param Recorder + object which can be used to record the request + (available on <member>XDispatchRecorderSupplier::getDispatchRecorder()</member>) + */ + [oneway] void dispatchAndRecord( + [in] com::sun::star::util::URL URL, + [in] sequence<com::sun::star::beans::PropertyValue> Arguments, + [in] XDispatchRecorder Recorder); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XSessionManagerClient.idl b/offapi/com/sun/star/frame/XSessionManagerClient.idl new file mode 100644 index 000000000000..be0b529220fd --- /dev/null +++ b/offapi/com/sun/star/frame/XSessionManagerClient.idl @@ -0,0 +1,109 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XSessionManagerClient.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XSessionManagerClient_idl__ +#define __com_sun_star_frame_XSessionManagerClient_idl__ + +#ifndef __com_sun_star_frame_XSessionManagerListener_idl__ +#include <com/sun/star/frame/XSessionManagerListener.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** Connect to a session manager to get information about pending + desktop shutdown + + */ + interface XSessionManagerClient : com::sun::star::uno::XInterface + { + + /** addSessionManagerListener registers a listener for session management events + + @param xListener + listener for session management events + + @see XSessionManagerListener + @see XSessionManagerClient::removeSessionManagerListener() + */ + [oneway] void addSessionManagerListener( [in] XSessionManagerListener xListener ); + + /** removeSessionManagerListener deregisters a listener for session events + + @param xListener + listener to be removed + + @see XSessionManagerListener + @see XSessionManagerClient::addSessionManagerListener() + */ + [oneway] void removeSessionManagerListener( [in] XSessionManagerListener xListener ); + + /** queryInteraction issues a request for a user interaction slot + from the session manager + + @param xListener + the listener requesting user interaction + + @see XSessionManagerListener + */ + [oneway] void queryInteraction( [in] XSessionManagerListener xListener ); + + /** interactionDone is called when a listener has finished user interaction + + @param xListener + the listener done with user interaction + + @see XSessionManagerListener + */ + [oneway] void interactionDone( [in] XSessionManagerListener xListener ); + + /** saveDone signals that a listener has processed a save request + + @param listener + the listener having finished save request processing + + @see XSessionManagerListener + */ + [oneway] void saveDone( [in] XSessionManagerListener xListener ); + + /** Call cancelShutdown to try to cancel a desktop shutdown in progress + + @returns + <TRUE/> if shutdown was canceled, + <FALSE/> else. + */ + boolean cancelShutdown(); + }; + +}; }; }; }; + + +#endif diff --git a/offapi/com/sun/star/frame/XSessionManagerListener.idl b/offapi/com/sun/star/frame/XSessionManagerListener.idl new file mode 100644 index 000000000000..59b723f17d37 --- /dev/null +++ b/offapi/com/sun/star/frame/XSessionManagerListener.idl @@ -0,0 +1,106 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XSessionManagerListener.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XSessionManagerListener_idl__ +#define __com_sun_star_frame_XSessionManagerListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif +//============================================================================= + +module com { module sun { module star { module frame { + + interface XSessionManagerListener : com::sun::star::lang::XEventListener + { + + /** doSave gets called when a save event was issued by the session manager + the listener should do what is necessary to restore + the current state of the application + + <p>If the listener desires to interact with the user + it must first issue a user interaction request and + only do so if interaction was granted</p> + + <p>When the save request is processed (with or without + user interaction) the listener must call + <member>XSessionManagerClient::saveDone()</member> + on the session manager client service object.</p> + + @param bShutdown + <TRUE/> if a shutdown is in progress, + <FALSE/> if just a save point was requested + + @param bCancelable + <TRUE/> if a shutdown in progress can be canceled by the listener, + <FALSE/> else + + <p>the listener may choose to ignore the <member>saveDone</member> + event in case no real shutdown is in progress. He + still has to call + <member>XSessionManagerClient::saveDone()</member> + in that case.</p> + + @see XSessionManagerClient + @see XSessionManagerClient::saveDone() + */ + [oneway] void doSave( [in] boolean bShutdown, [in] boolean bCancelable ); + + /** approveInteraction is called when an outstanding + interaction request was processed by the session manager + + @param bInteractionGranted + If <FALSE/> the listener must not interact with the user. + If <TRUE/> the listener can interact with the user now. + After interaction the listener must call + <member>XSessionManagerClient::interactionDone</member> + on the session manager client service object. + + @see XSessionManagerClient + @see XSessionManagerClient::interactionDone() + */ + [oneway] void approveInteraction( [in] boolean bInteractionGranted ); + + /** shutdownCanceled is called when a shutdown was canceled by the user + The listener can cancel his saving operations. No + further interaction is necessary and further calls + on the session manager client service object will + be ignored. + */ + [oneway] void shutdownCanceled(); + + /** returns true, if a session was restored + */ + boolean doRestore(); + }; + +}; }; }; }; + + +#endif diff --git a/offapi/com/sun/star/frame/XStatusListener.idl b/offapi/com/sun/star/frame/XStatusListener.idl new file mode 100644 index 000000000000..9c0595b13459 --- /dev/null +++ b/offapi/com/sun/star/frame/XStatusListener.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XStatusListener.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XStatusListener_idl__ +#define __com_sun_star_frame_XStatusListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_frame_FeatureStateEvent_idl__ +#include <com/sun/star/frame/FeatureStateEvent.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** makes it possible to receive events when the state of a feature changes. + + <p> + Nobody guarantee any notification. Use combination of <type>XNotifyingDispatch</type> + and <type>XDispatchResultListener</type> for that. + </p> + + @see XDispatch + @see XNotifyingDispatch + @see XDispatchResultListener + */ +published interface XStatusListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** is called when the status of the feature changes. + + @param State + provides information about changes of the requested feature + */ + [oneway] void statusChanged( [in] FeatureStateEvent State ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XStatusbarController.idl b/offapi/com/sun/star/frame/XStatusbarController.idl new file mode 100644 index 000000000000..b4434063009f --- /dev/null +++ b/offapi/com/sun/star/frame/XStatusbarController.idl @@ -0,0 +1,175 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XStatusbarController.idl,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XStatusbarController_idl__ +#define __com_sun_star_frame_XStatusbarController_idl__ + +#ifndef __com_sun_star_awt_Point_idl__ +#include <com/sun/star/awt/Point.idl> +#endif + +#ifndef __com_sun_star_awt_MouseEvent_idl__ +#include <com/sun/star/awt/MouseEvent.idl> +#endif + +#ifndef __com_sun_star_awt_Rectangle_idl__ +#include <com/sun/star/awt/Rectangle.idl> +#endif + +#ifndef __com_sun_star_awt_XGraphics_idl__ +#include <com/sun/star/awt/XGraphics.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** is an abstract service for a component which offers a more complex user interface + to users within a status bar. + + <p> + A generic status bar field is represented as a simple text field. A status + bar controller can be added to a Statusbar and provide information or + functions with a more sophisticated user interface.<br/> + A typical example for status bar controller is a zoom chooser. It shows + the current zoom and provides general zoom levels on a popup menu + that can be activated by a mouse action for context menus. + <p> + + @see com::sun::star::frame::XDispatchProvider + + @since OOo 2.0.0 + */ +interface XStatusbarController : ::com::sun::star::uno::XInterface +{ + //============================================================================= + /** is called by a status bar if the mouse position is within the controller + and a mouse button has been pressed. If the controller has captured the + mouse input this function is also called when the mouse position is not + within the controller. + + @param aMouseEvent + current information about the mouse pointer. + + @return + return <TRUE/> if the event should not be processed and <FALSE/> + if the event should be processed by the status bar. + */ + boolean mouseButtonDown( [in] ::com::sun::star::awt::MouseEvent aMouseEvent ); + + //============================================================================= + /** is called by a status bar if the mouse position is within the controller + and a mouse has been moved. If the controller has captured the + mouse input this function is also called when the mouse position is not + within the controller. + + @param aMouseEvent + current information about the mouse pointer. + + @return + return <TRUE/> if the event should not be processed and <FALSE/> + if the event should be processed by the status bar. + */ + boolean mouseMove( [in] ::com::sun::star::awt::MouseEvent aMouseEvent ); + + //============================================================================= + /** is called by a status bar if the mouse position is within the controller + and a mouse button has been released. If the controller has captured the + mouse input this function is also called when the mouse position is not + within the controller. + + @param aMouseEvent + current information about the mouse pointer. + + @return + return <TRUE/> if the event should not be processed and <FALSE/> + if the event should be processed by the status bar. + */ + boolean mouseButtonUp( [in] ::com::sun::star::awt::MouseEvent aMouseEvent ); + + //============================================================================= + /** is called by a status bar if a command event is available for a controller. + + @param aPos + the current mouse position in pixel. + + @param nCommand + describes which command has been invoked. + + @param bMouseEvent + <TRUE/> if the command is based on a mouse event, otherwise <FALSE/>. + + @param aData + for future use only. + */ + void command( [in] ::com::sun::star::awt::Point aPos, + [in] long nCommand, + [in] boolean bMouseEvent, + [in] any aData ); + + //============================================================================= + /** is called by a status bar if the controller has to update the visual + representation. + + @param xGraphics + a reference to a <type scope="com::sun::star::awt">XGraphics</type> + which has to be used to update the visual representation. + + @param nCommand + a <type scope="com::sun::star::awt">Rectangle</type> which + determine the output rectangle for all drawing operations + + @param nItemID + the unique ID of the control within the status bar. + + @param nStyle + reserved for future use. + */ + void paint( [in] ::com::sun::star::awt::XGraphics xGraphics, + [in] ::com::sun::star::awt::Rectangle rOutputRectangle, + [in] long nItemId, + [in] long nStyle ); + + //============================================================================= + /** is called by a status bar if the user clicked with mouse into the + field of the corresponding control. + */ + void click(); + + //============================================================================= + /** is called by a status bar if the user double-clicked with mouse + into the field of the corresponding control. + */ + void doubleClick(); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XStorable.idl b/offapi/com/sun/star/frame/XStorable.idl new file mode 100644 index 000000000000..d93042cd3078 --- /dev/null +++ b/offapi/com/sun/star/frame/XStorable.idl @@ -0,0 +1,179 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XStorable.idl,v $ + * $Revision: 1.14 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XStorable_idl__ +#define __com_sun_star_frame_XStorable_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** offers a simple way to store a component to an URL. + + <p> + It is usually only useful for two cases: + </p> + <ol> + <li> + Large components which are wrapped up in UNO interfaces + and for which distinct filters are not available separately as + components. + </li> + <li> + Very small components for which only one or very few hard + coded file format filters make sense or even exist. + </li> + </ol> + */ +published interface XStorable: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** The object may know the location because it was loaded from there, + or because it is stored there. + + @returns + <TRUE/> if the object knows a location where it is persistent + <FALSE/> otherwise + */ + boolean hasLocation(); + + //------------------------------------------------------------------------- + /** After <member>XStorable::storeAsURL()</member> it returns the + URL the object was stored to. + + @returns + the URL of the resource which is represented by this object. + */ + string getLocation(); + + //------------------------------------------------------------------------- + /** It is not possible to call <member>XStorable::store()</member> successfully + when the data store is read-only. + + @returns + <TRUE/> if the data store is readonly or opened readonly + <FALSE/> otherwise + */ + boolean isReadonly(); + + //------------------------------------------------------------------------- + /** stores the data to the URL from which it was loaded. + + <p>Only objects which know their locations can be stored.</p> + + @throws com::sun::star::io::IOException + if an IO error occured during save operation + (may the location is unknown) + + @see XStorable::storeAsURL + @see XStorable::storeToURL + */ + void store() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + /** stores the object's persistent data to a URL and + makes this URL the new location of the object. + + <p>This is the normal behavior for UI's "save-as" feature.</p> + + <p>The change of the location makes it necessary to store the document in + a format that the object can load. For this reason the implementation of + <member>XStorable::storeAsURL()</member> will throw an exception if a pure + export filter is used, it will accept only combined import/export filters. + For such filters the method <member>XStorable::storeToURL()</member> + must be used that does not change the location of the object.</p> + + @param sURL + specifies the new location of this component + + @param lArguments + optional parameters for saving + (see <type scope="com::sun::star::document">MediaDescriptor</type> for further details) + + @throws com::sun::star::io::IOException + if an IO error occured during save operation + (may the location is unknown) + + @see XStorable::store + @see XStorable::storeToURL + @see com::sun::star::document::MediaDescriptor + */ + void storeAsURL( + [in] string sURL, + [in] sequence<com::sun::star::beans::PropertyValue> lArguments ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + /** stores the object's persistent data to a URL and + continues to be a representation of the old URL. + + <p>This is the normal behavior for UI's export feature.</p> + + <p>This method accepts all kinds of export filters, not only combined + import/export filters because it implements an exporting capability, not a + persistence capability.</p> + + @throws com::sun::star::io::IOException + if an IO error occured during save operation + (may the location is unknown) + + @param lArguments + optional parameters for saving + (see <type scope="com::sun::star::document">MediaDescriptor</type> for further details) + + @see XStorable::store + @see XStorable::storeAsURL + @see com::sun::star::document::MediaDescriptor + */ + void storeToURL( + [in] string sURL, + [in] sequence<com::sun::star::beans::PropertyValue> lArguments ) + raises( com::sun::star::io::IOException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XStorable2.idl b/offapi/com/sun/star/frame/XStorable2.idl new file mode 100644 index 000000000000..e98964f2aad6 --- /dev/null +++ b/offapi/com/sun/star/frame/XStorable2.idl @@ -0,0 +1,95 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XStorable2.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XStorable2_idl__ +#define __com_sun_star_frame_XStorable2_idl__ + +#ifndef __com_sun_star_frame_XStorable_idl__ +#include <com/sun/star/frame/XStorable.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** extends <type>XStorable</type>. + */ +published interface XStorable2: XStorable +{ + /** stores the data to the URL from which it was loaded. + + <p> + Only objects which know their locations can be stored. + </p> + + <p> + This is an extention of the <method>XStorable::store()</method>. + This method allows to specify some additional parametes for + storing process. + </p> + + @param lArguments + optional parameters for saving, can take values from subset of + <type scope="com::sun::star::document">MediaDescriptor</type> + + @thrown ::com::sun::star::lang::IllegalArgumentException + the optional parameters contain unacceptable for save entry + + @throws com::sun::star::io::IOException + if an IO error occured during save operation + + @see XStorable::store + */ + void storeSelf( + [in] sequence<com::sun::star::beans::PropertyValue> lArguments ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::io::IOException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/frame/XSubToolbarController.idl b/offapi/com/sun/star/frame/XSubToolbarController.idl new file mode 100644 index 000000000000..d63db5543ed5 --- /dev/null +++ b/offapi/com/sun/star/frame/XSubToolbarController.idl @@ -0,0 +1,105 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XSubToolbarController.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XSubToolbarController_idl__ +#define __com_sun_star_frame_XSubToolbarController_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** special interface to support sub-toolbars in a controller implementation. + + <p> + This interface is normally used to implement the toolbar button/sub- + toolbar function feature. It exchanges the function of the toolbar + button, that opened the sub-toolbar, with the one that has been selected + on the sub-toolbar. + </p> + + @see com::sun::star::frame::ToolbarController + + @since OOo 2.0.0 + */ +interface XSubToolbarController : com::sun::star::uno::XInterface +{ + //============================================================================= + /** if the controller features a sub-toolbar. + + @return + <TRUE/> if the controller offers a sub toolbar, otherwise <FALSE/>. + + <p> + Enables implementations to dynamically decide to support sub-toolbars + or not. + </p> + */ + boolean opensSubToolbar(); + + //============================================================================= + /** provides the resource URL of the sub-toolbar this controller opens. + + @return + name of the sub-toolbar this controller offers. A empty string + will be interpreted as if this controller offers no sub-toolbar. + */ + string getSubToolbarName(); + + //============================================================================= + /** gets called to notify a controller that a sub-toolbar function has been + selected. + + @param aCommand + a string which identifies the function that has been selected by + a user. + */ + void functionSelected( [in] string aCommand ); + + //============================================================================= + /** gets called to notify a controller that it should set an image which + represents the current selected function. + + <p> + Only the controller instance is able to set the correct image for the + current function. A toolbar implementation will ask sub-toolbar + controllers to update their image whenever it has to update the images + of all its buttons. + </p> + */ + void updateImage(); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XSynchronousDispatch.idl b/offapi/com/sun/star/frame/XSynchronousDispatch.idl new file mode 100644 index 000000000000..29761cc6d4ac --- /dev/null +++ b/offapi/com/sun/star/frame/XSynchronousDispatch.idl @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XSynchronousDispatch.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XSynchronousDispatch_idl__ +#define __com_sun_star_frame_XSynchronousDispatch_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_util_URL_idl__ +#include <com/sun/star/util/URL.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** additional interfaces for dispatch objects: allow to execute with return value + @since OOo 2.0.0 + @see XDispatch + */ +published interface XSynchronousDispatch: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** dispatches a URL synchronously and offers a return values + + <p> + After getting a dispatch object as a result of a queryDispatch call, this interface can + be used to dispatch the URL synchronously and with a return value. + </p> + + @param URL + full parsed URL wich describe the feature which should be dispatched (executed) + + @param Arguments + optional arguments for this request + They depend on the real implementation of the dispatch object. + */ + any dispatchWithReturnValue( + [in] com::sun::star::util::URL URL, + [in] sequence<com::sun::star::beans::PropertyValue> Arguments); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl b/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl new file mode 100644 index 000000000000..57d71ba40b1c --- /dev/null +++ b/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl @@ -0,0 +1,98 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XSynchronousFrameLoader.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XSynchronousFrameLoader_idl__ +#define __com_sun_star_frame_XSynchronousFrameLoader_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_XFrame_idl__ +#include <com/sun/star/frame/XFrame.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** loads a resource into a <type>Frame</type>. + + <p> + Unlike the <type>XFrameLoader</type> interface, this loading will be synchronous. + </p> + + @see XFrameLoader + */ +published interface XSynchronousFrameLoader: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** starts the loading of the specified resource into the specified <type>Frame</type>. + + @param Descriptor + describes the ressource which should be loaded + It use a <type scope="com::sun::star::document">MediaDescriptor</type> for that. + + @param Frame + the target frame which should contain the new loaded component + + @return + <TRUE/> if loading is successfully + <br> + <FALSE/> otherwise + */ + boolean load( + [in] sequence< com::sun::star::beans::PropertyValue > Descriptor, + [in] XFrame Frame ); + + //------------------------------------------------------------------------- + /** cancels the loading process. + + <p> + No notifications (neither to the frame or the caller) must be notified. + Because it's a synchronous process this cancel call can be forced by + another thread the loader thread only. Method + <member>XSynchronousFrameLoader::load()</member> must return <FALSE/> + then and caller of this method <member>XSynchronousFrameLoader::cancel()</member> + already knows the state ... + </p> + */ + void cancel(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XTask.idl b/offapi/com/sun/star/frame/XTask.idl new file mode 100644 index 000000000000..ee5f38721389 --- /dev/null +++ b/offapi/com/sun/star/frame/XTask.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XTask.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XTask_idl__ +#define __com_sun_star_frame_XTask_idl__ + +#ifndef __com_sun_star_frame_XFrame_idl__ +#include <com/sun/star/frame/XFrame.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** use <type>XFrame</type> instead of this one + @deprecated + */ +published interface XTask: XFrame +{ + //------------------------------------------------------------------------- + /** use <type scope="com::sun::star::util">XCloseable</type> or + <member scope="com::sun::star::lang">XComponent::dispose()</member> + at a <type>Frame</type> instead of this one + @deprecated + */ + boolean close(); + + //------------------------------------------------------------------------- + /** @deprecated + */ + [oneway] void tileWindows(); + + //------------------------------------------------------------------------- + /** @deprecated + */ + [oneway] void arrangeWindowsVertical(); + + //------------------------------------------------------------------------- + /** @deprecated + */ + [oneway] void arrangeWindowsHorizontal(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XTasksSupplier.idl b/offapi/com/sun/star/frame/XTasksSupplier.idl new file mode 100644 index 000000000000..17b66dc8a700 --- /dev/null +++ b/offapi/com/sun/star/frame/XTasksSupplier.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XTasksSupplier.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XTasksSupplier_idl__ +#define __com_sun_star_frame_XTasksSupplier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_container_XEnumerationAccess_idl__ +#include <com/sun/star/container/XEnumerationAccess.idl> +#endif + +#ifndef __com_sun_star_frame_XTask_idl__ +#include <com/sun/star/frame/XTask.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** use <type>XFramesSupplier</type> instead of that + @deprecated + */ +published interface XTasksSupplier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** use <member>XFramesSupplier::getFrames()</member> instead of this one + @deprecated + */ + com::sun::star::container::XEnumerationAccess getTasks(); + + //------------------------------------------------------------------------- + /** use <member>XFramesSupplier::getActiveFrame()</member> instead of this one + @deprecated + */ + XTask getActiveTask(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XTerminateListener.idl b/offapi/com/sun/star/frame/XTerminateListener.idl new file mode 100644 index 000000000000..f141af78ef10 --- /dev/null +++ b/offapi/com/sun/star/frame/XTerminateListener.idl @@ -0,0 +1,92 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XTerminateListener.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XTerminateListener_idl__ +#define __com_sun_star_frame_XTerminateListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +#ifndef __com_sun_star_frame_TerminationVetoException_idl__ +#include <com/sun/star/frame/TerminationVetoException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** has to be provided if an object wants to receive an event + when the master environment (e.g., desktop) is terminated. + + @see XDesktop::terminate() + @see XDesktop::addTerminateListener() + @see XDesktop::removeTerminateListener() + */ +published interface XTerminateListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** is called when the master environment (e.g., desktop) is about to terminate. + + <p> + Termination can be intercepted by throwing <type>TerminationVetoException</type>. + Interceptor will be the new owner of desktop and should call <member>XDesktop::terminate()</member> + after finishing his own operations. + </p> + + @param Event + describe the source of the event (e.g., the desktop) + + @throws TerminationVetoException + listener can disagree with this query by throwing this veto exception + */ + void queryTermination( [in] com::sun::star::lang::EventObject Event ) + raises( TerminationVetoException ); + + //------------------------------------------------------------------------- + /** is called when the master environment is finally terminated. + Not veto will be accepted then. + + @param Event + describe the source of the event (e.g., the desktop) + */ + void notifyTermination( [in] com::sun::star::lang::EventObject Event ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XTerminateListener2.idl b/offapi/com/sun/star/frame/XTerminateListener2.idl new file mode 100644 index 000000000000..ac5acdc0c38f --- /dev/null +++ b/offapi/com/sun/star/frame/XTerminateListener2.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XTerminateListener2.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XTerminateListener2_idl__ +#define __com_sun_star_frame_XTerminateListener2_idl__ + +#ifndef __com_sun_star_frame_XTerminateListener_idl__ +#include <com/sun/star/frame/XTerminateListener.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** extend interface XTerminateListener so a listener will be informed + in case termination process was cancelled by other reasons. + */ +interface XTerminateListener2 : ::com::sun::star::frame::XTerminateListener +{ + //------------------------------------------------------------------------- + /** is called when the master environment (e.g., desktop) was cancelled in + it's terminate request. + + <p> + Termination can be intercepted by throwing <type>TerminationVetoException</type>. + But if a listener was queried for termination .. doesnt throwed a veto exception ... + it doesnt know if termination will be real next time. + Because any other listener can throw those exception too ... and so it can happen + that after queryTermination() no notifyTermination() will occure. But these listener + doesnt know if its allowed to start new processes then. + Using this optional(!) interface will make it possible to be informed about + cancelled termination requests also. + </p> + + @param Event + describe the source of the event (e.g., the desktop) + */ + void cancelTermination( [in] com::sun::star::lang::EventObject Event ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XTitle.idl b/offapi/com/sun/star/frame/XTitle.idl new file mode 100644 index 000000000000..5b0e8c6a64ae --- /dev/null +++ b/offapi/com/sun/star/frame/XTitle.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XTitle.idl,v $ + * + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XTitle_idl__ +#define __com_sun_star_frame_XTitle_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** todo document me + */ +interface XTitle : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** todo document me + */ + string getTitle (); + + //------------------------------------------------------------------------- + /** todo document me + */ + void setTitle ( [in] string sTitle ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl b/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl new file mode 100644 index 000000000000..41467a3efd31 --- /dev/null +++ b/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XTitleChangeBroadcaster.idl,v $ + * + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XTitleChangeBroadcaster_idl__ +#define __com_sun_star_frame_XTitleChangeBroadcaster_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_XTitleChangeListener_idl__ +#include <com/sun/star/frame/XTitleChangeListener.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** todo document me + */ +interface XTitleChangeBroadcaster : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** todo document me + */ + void addTitleChangeListener ( [in] com::sun::star::frame::XTitleChangeListener xListener ); + + //------------------------------------------------------------------------- + /** todo document me + */ + void removeTitleChangeListener ( [in] com::sun::star::frame::XTitleChangeListener xListener ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XTitleChangeListener.idl b/offapi/com/sun/star/frame/XTitleChangeListener.idl new file mode 100644 index 000000000000..380af8d04770 --- /dev/null +++ b/offapi/com/sun/star/frame/XTitleChangeListener.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XTitleChangeListener.idl,v $ + * + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XTitleChangeListener_idl__ +#define __com_sun_star_frame_XTitleChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_frame_TitleChangedEvent_idl__ +#include <com/sun/star/frame/TitleChangedEvent.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** todo document me + */ +interface XTitleChangeListener : com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** todo document me + */ + void titleChanged ( [in] TitleChangedEvent aEvent ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XToolbarController.idl b/offapi/com/sun/star/frame/XToolbarController.idl new file mode 100644 index 000000000000..a399eacae6c0 --- /dev/null +++ b/offapi/com/sun/star/frame/XToolbarController.idl @@ -0,0 +1,113 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XToolbarController.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XToolbarController_idl__ +#define __com_sun_star_frame_XToolbarController_idl__ + +#ifndef __com_sun_star_awt_XWindow_idl__ +#include <com/sun/star/awt/XWindow.idl> +#endif + +#ifndef __com_sun_star_awt_KeyModifier_idl__ +#include <com/sun/star/awt/KeyModifier.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** is an abstract service for a component which offers a more complex user interface + to users within a toolbar. + + <p> + A generic toolbar function is represented as a button which has a state + (enabled,disabled and selected, not selected). A toolbar controller can be added to a + toolbar and provide information or functions with a more sophisticated user interface.<br/> + A typical example for toolbar controller is a font chooser on a toolbar. It provides + all available fonts in a dropdown box and shows the current chosen font. + <p> + + @see com::sun::star::frame::XDispatchProvider + + @since OOo 2.0.0 + */ +interface XToolbarController : com::sun::star::uno::XInterface +{ + //============================================================================= + /** provides a function to execute the command which is bound to the toolbar controller. + + @param + a combination of <type scope="com::sun::star::awt">KeyModifier</type> value that represent + the current state of the modifier keys. + + <p> + This function is usally called by a toolbar implementation when a user clicked on a toolbar button + or pressed enter on the keyboard when the item has the input focus. + </p> + */ + void execute( [in] short KeyModifier ); + + //============================================================================= + /** notifies a component that a single click has been made on the toolbar item. + */ + void click(); + + //============================================================================= + /** notifies a component that a double click has been made on the toolbar item. + */ + void doubleClick(); + + //============================================================================= + /** requests to create a popup window for additional functions. + + @return + a <type scope="com::sun::star::awt">XWindow</type> which provides additional functions + to the user. The reference must be empty if component does not want to provide a separate + window. + */ + com::sun::star::awt::XWindow createPopupWindow(); + + //============================================================================= + /** requests to create an item window which can be added to the toolbar. + + @param Parent + a <type scope="com::sun::star::awt">XWindow</type> which must be used as a parent + for the requested item window. + + @return + a <type scope="com::sun::star::awt">XWindow</type> which can be added to a toolbar. + The reference must be empty if a component does not want to provide an item window. + */ + com::sun::star::awt::XWindow createItemWindow( [in] com::sun::star::awt::XWindow Parent ); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XToolbarControllerListener.idl b/offapi/com/sun/star/frame/XToolbarControllerListener.idl new file mode 100644 index 000000000000..e548cff31e0a --- /dev/null +++ b/offapi/com/sun/star/frame/XToolbarControllerListener.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XToolbarControllerListener.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XToolbarControllerListener_idl__ +#define __com_sun_star_frame_XToolbarControllerListener_idl__ + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** is used to notify a toolbar controller about events + + @see com::sun::star::frame::ToolbarController + + @since OOo 2.0.0 + */ +interface XToolbarControllerListener : com::sun::star::uno::XInterface +{ + //============================================================================= + /** gets called to notify a controller that a toolbar function has been selected. + + @param aToolbarRes + a string which identifies the toolbar where the function has been selected. + + @param aCommand + a string which identifies the function that has been selected. + + <p> + This notification is normally used to implement the toolbar button/sub-toolbar + function feature. It exchanges the function of the toolbar button, that opened + the sub-toolbar, with the one that has been selected on the sub-toolbar. + </p> + */ + void functionSelected( [in] string aToolbarRes, [in] string aCommand ); + +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl new file mode 100644 index 000000000000..a4489ae36e32 --- /dev/null +++ b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl @@ -0,0 +1,95 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XTransientDocumentsDocumentContentFactory.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XTransientDocumentsDocumentContentFactory_idl__ +#define __com_sun_star_frame_XTransientDocumentsDocumentContentFactory_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_ucb_XContent_idl__ +#include <com/sun/star/ucb/XContent.idl> +#endif + +#ifndef __com_sun_star_frame_XModel_idl__ +#include <com/sun/star/frame/XModel.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** specifies a factory for + <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>s. + + @version 1.0 + @author Kai Sommerfeld + @see com::sun::star::document::OfficeDocument + @see com::sun::star::ucb::TransientDocumentsDocumentContent + + @since OOo 2.0.0 +*/ +interface XTransientDocumentsDocumentContentFactory : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** creates a + <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type> + based on a given <type scope="com::sun::star::document">OfficeDocument</type>. + + @param Model + the document model for that a + <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type> + is requested. The model must be an implementation of service + <type scope="com::sun::star::document">OfficeDocument</type>. + + @returns + a document content based on the given document model. The content must + be an implementation of service + <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>. + + @throws com::sun::star::lang::IllegalArgumentException + if the document model cannot be associated with content for any reason. + */ + com::sun::star::ucb::XContent createDocumentContent( + [in] com::sun::star::frame::XModel Model ) + raises ( com::sun::star::lang::IllegalArgumentException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XUIControllerRegistration.idl b/offapi/com/sun/star/frame/XUIControllerRegistration.idl new file mode 100644 index 000000000000..072ef5fd9066 --- /dev/null +++ b/offapi/com/sun/star/frame/XUIControllerRegistration.idl @@ -0,0 +1,110 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XUIControllerRegistration.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_frame_XUIControllerRegistration_idl__ +#define __com_sun_star_frame_XUIControllerRegistration_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= + +/** is used to query, register and unregister user interface controller. + + <p> + A user interface controller can be registered for a command URL. A certain user + interface controller will be created when a user interface element contains a + registered command URL. + + @see PopupMenuControllerFactory + </p> + + @since OOo 2.0 + */ + +published interface XUIControllerRegistration : com::sun::star::uno::XInterface +{ + /** function to check if an user interface controller is registered + for a command URL and optional module. + + @returns + true if a controller was registered for the combination of command URL + and model name. + + @param aCommandURL + a command URL which specifies an action. + + @param aModelName + an optional name of an OpenOffice model service. This value can remain empty if + no model service name was specified. + */ + boolean hasController( [in] string aCommandURL, [in] string aModelName ); + + /** function to create an association between a user interface controller implementation + and a command URL and optional module. + + @param aCommandURL + a command URL which specifies an action which shoudl be associated with a user + interface controller. + + @param aModelName + an optional name of an OpenOffice model service. This value can remain empty if + no model service name was specified. + + @param aControllerImplementationName + a UNO implementation name that can be used to create a user interface controller + with the OpenOffice service manager. + */ + void registerController( [in] string aCommandURL, [in] string aModelName, [in] string aControllerImplementationName ); + + /** function to remove a previously defined association between a user interface controller + implementation and a command URL and optional module. + + @param aCommandURL + a command URL which specifies an action which shoudl be associated with a user + interface controller. + + @param aModelName + an optional name of an OpenOffice model service. This value can remain empty if + no model service name was specified. + */ + void deregisterController( [in] string aCommandURL, [in] string aModelName ); +}; + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/frame/XUntitledNumbers.idl b/offapi/com/sun/star/frame/XUntitledNumbers.idl new file mode 100644 index 000000000000..b4306c8c6b19 --- /dev/null +++ b/offapi/com/sun/star/frame/XUntitledNumbers.idl @@ -0,0 +1,122 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XUntitledNumbers.idl,v $ + * + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XUntitledNumbers_idl__ +#define __com_sun_star_frame_XUntitledNumbers_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +constants UntitledNumbersConst +{ + const long INVALID_NUMBER = 0; +}; + +//============================================================================= +/** knows all currently used and all free numbers for using with untitled + but counted objects. + */ +interface XUntitledNumbers : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** calli has to lease a number befor he can use it within in its own title. + + Such number must be freed after using e.g. while the object was closed or + get's another title (e.g. by saving a document to a real location on disc). + + @param xComponent + the component which has to be registered for the leased number. + + @return the new number for these object or 0 if no further numbers are available. + + @throws [IllegalArgumentException] + if an invalid object reference was provided to this method. + */ + long leaseNumber ( [in] com::sun::star::uno::XInterface xComponent ) + raises (com::sun::star::lang::IllegalArgumentException); + + //------------------------------------------------------------------------- + /** has to be used to mark those number as "free for using". + + If the reqistered component does not use such leased number any longer + it has to be released so it can be used for new components. + + Note: calling this method with an unknown (but normaly valid number) + has to be ignored. No exceptions - no errors. + + @param nNumber + specify number for release. + + @throws [IllegalArgumentException] + if the given number is the special value 0. + */ + void releaseNumber ( [in] long nNumber ) + raises (com::sun::star::lang::IllegalArgumentException); + + //------------------------------------------------------------------------- + /** does the same then releaseNumber () but it searches the corresponding + number for the specified component and deregister it. + + @param xComponent + the component for deregistration. + + @throws [IllegalArgumentException] + if an invalid object reference was provided to this method. + */ + void releaseNumberForComponent ( [in] com::sun::star::uno::XInterface xComponent ) + raises (com::sun::star::lang::IllegalArgumentException); + + //------------------------------------------------------------------------- + /** returns the localized string value to be used for untitles objects in + combination with the leased number. + + Note: Such string already contains leading spaces/tabs etcpp. ! + The only thing which an outside code has todo then ... adding a leased number + to the string. + + @return the localized string for untitled components. + */ + string getUntitledPrefix (); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XUrlList.idl b/offapi/com/sun/star/frame/XUrlList.idl new file mode 100644 index 000000000000..7818c4f8ec6b --- /dev/null +++ b/offapi/com/sun/star/frame/XUrlList.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XUrlList.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XUrlList_idl__ +#define __com_sun_star_frame_XUrlList_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module frame { + +//============================================================================= +/** @deprecated +*/ +published interface XUrlList: com::sun::star::uno::XInterface +{ + /** - */ + [attribute] sequence<string> List; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/XWindowArranger.idl b/offapi/com/sun/star/frame/XWindowArranger.idl new file mode 100644 index 000000000000..0bc89de751bd --- /dev/null +++ b/offapi/com/sun/star/frame/XWindowArranger.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XWindowArranger.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XWindowArranger_idl__ +#define __com_sun_star_frame_XWindowArranger_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** @deprecated + */ +published interface XWindowArranger: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** @deprecated + */ + boolean hasArrangeCommand( [in] short nCommand ); + + //------------------------------------------------------------------------- + /** @deprecated + */ + [oneway] void arrange( [in] short nCommand ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/makefile.mk b/offapi/com/sun/star/frame/makefile.mk new file mode 100644 index 000000000000..789a0f6e499e --- /dev/null +++ b/offapi/com/sun/star/frame/makefile.mk @@ -0,0 +1,169 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.36 $ +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=offapi + +TARGET=cssframe +PACKAGE=com$/sun$/star$/frame + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + BorderWidths.idl\ + CommandGroup.idl\ + Components.idl\ + ContentHandler.idl\ + ContentHandlerFactory.idl\ + ControlCommand.idl\ + ControlEvent.idl\ + Controller.idl\ + Desktop.idl\ + DesktopTask.idl\ + DesktopTasks.idl\ + DispatchDescriptor.idl\ + DispatchHelper.idl\ + DispatchInformation.idl\ + DispatchProvider.idl\ + DispatchRecorder.idl\ + DispatchRecorderSupplier.idl\ + DispatchResultState.idl\ + DispatchResultEvent.idl\ + DispatchStatement.idl\ + DocumentTemplates.idl\ + DoubleInitializationException.idl\ + FeatureStateEvent.idl\ + Frame.idl\ + FrameAction.idl\ + FrameActionEvent.idl\ + FrameControl.idl\ + FrameLoader.idl\ + FrameLoaderFactory.idl\ + FramesContainer.idl\ + FrameSearchFlag.idl\ + IllegalArgumentIOException.idl\ + LayoutManager.idl\ + LayoutManagerEvents.idl\ + MediaTypeDetectionHelper.idl\ + ModuleManager.idl\ + PopupMenuController.idl\ + PopupMenuControllerFactory.idl\ + ProtocolHandler.idl\ + SessionManager.idl\ + Settings.idl\ + SynchronousFrameLoader.idl\ + StatusbarController.idl\ + StatusbarControllerFactory.idl\ + Task.idl\ + TemplateAccess.idl\ + TerminationVetoException.idl\ + TitleChangedEvent.idl\ + ToolbarController.idl\ + TransientDocumentsDocumentContentFactory.idl \ + UnknownModuleException.idl\ + WindowArrange.idl\ + XBorderResizeListener.idl\ + XBrowseHistoryRegistry.idl\ + XComponentLoader.idl\ + XComponentRegistry.idl\ + XConfigManager.idl\ + XController.idl\ + XController2.idl\ + XControlNotificationListener.idl\ + XControllerBorder.idl\ + XDesktop.idl\ + XDesktopTask.idl\ + XDispatch.idl\ + XDispatchHelper.idl\ + XDispatchInformationProvider.idl\ + XDispatchProvider.idl\ + XDispatchProviderInterception.idl\ + XDispatchProviderInterceptor.idl\ + XDispatchRecorder.idl\ + XDispatchRecorderSupplier.idl\ + XDispatchResultListener.idl\ + XDocumentTemplates.idl\ + XExtendedFilterDetection.idl\ + XFilterDetect.idl\ + XFrame.idl\ + XFrameActionListener.idl\ + XFrameLoader.idl\ + XFrameLoaderQuery.idl\ + XFrames.idl\ + XFrameSetModel.idl\ + XFramesSupplier.idl\ + XInplaceLayout.idl\ + XInterceptorInfo.idl\ + XLayoutManager.idl\ + XLayoutManagerEventBroadcaster.idl\ + XLayoutManagerListener.idl\ + XLoadable.idl\ + XLoadEventListener.idl\ + XMenuBarAcceptor.idl\ + XMenuBarMergingAcceptor.idl\ + XModel.idl\ + XModel2.idl\ + XModule.idl\ + XModuleManager.idl\ + XNotifyingDispatch.idl\ + XPopupMenuController.idl\ + XRecordableDispatch.idl\ + XSessionManagerClient.idl\ + XSessionManagerListener.idl\ + XStatusListener.idl\ + XStatusbarController.idl\ + XStorable.idl\ + XSubToolbarController.idl\ + XStorable2.idl\ + XSynchronousDispatch.idl\ + XSynchronousFrameLoader.idl\ + XTask.idl\ + XTasksSupplier.idl\ + XTerminateListener.idl\ + XTerminateListener2.idl\ + XTitle.idl\ + XTitleChangeBroadcaster.idl\ + XTitleChangeListener.idl\ + XToolbarController.idl\ + XTransientDocumentsDocumentContentFactory.idl\ + XUIControllerRegistration.idl\ + XUntitledNumbers.idl\ + XUrlList.idl\ + XWindowArranger.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/offapi/com/sun/star/frame/status/ClipboardFormats.idl b/offapi/com/sun/star/frame/status/ClipboardFormats.idl new file mode 100644 index 000000000000..f634fd054c62 --- /dev/null +++ b/offapi/com/sun/star/frame/status/ClipboardFormats.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ClipboardFormats.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_status_ClipboardFormats_idl__ +#define __com_sun_star_frame_status_ClipboardFormats_idl__ + + +//============================================================================= + +module com { module sun { module star { module frame { module status { + +//============================================================================= + +/** contains a list of format ID's and names which are part of the + system clipboard. + + @since OOo 2.0 + */ +struct ClipboardFormats +{ + //------------------------------------------------------------------------- + + /** specifies a sequence of format IDs which are contained in the + system clipboard. + */ + sequence< hyper > Identifiers; + + //------------------------------------------------------------------------- + + /** specifies a sequence of format names which are contained in the + system clipboard. + */ + sequence< string > Names; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/status/FontHeight.idl b/offapi/com/sun/star/frame/status/FontHeight.idl new file mode 100644 index 000000000000..7c2fafe9ba7d --- /dev/null +++ b/offapi/com/sun/star/frame/status/FontHeight.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: FontHeight.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_status_FontHeight_idl__ +#define __com_sun_star_frame_status_FontHeight_idl__ + + +//============================================================================= + +module com { module sun { module star { module frame { module status { + +//============================================================================= + +/** describes the characteristics of a font. + + <p>For example, this can be used to select a font.</p> + + @since OOo 2.0 + */ +struct FontHeight +{ + //------------------------------------------------------------------------- + + /** specifies the current height of the font. + */ + float Height; + + //------------------------------------------------------------------------- + + /** specifies the height of the font in the measure of the + destination. + */ + short Prop; + + //------------------------------------------------------------------------- + + /** specifies the width of the font in the measure of the + destination. + */ + float Diff; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/status/ItemState.idl b/offapi/com/sun/star/frame/status/ItemState.idl new file mode 100644 index 000000000000..9857ed5a80ba --- /dev/null +++ b/offapi/com/sun/star/frame/status/ItemState.idl @@ -0,0 +1,88 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ItemState.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_status_ItemState_idl__ +#define __com_sun_star_frame_status_ItemState_idl__ + + +//============================================================================= + +module com { module sun { module star { module frame { module status { + +//============================================================================= + +/** these constants describe a state of a <type>ItemStatus</type>. + + @see ItemStatus + + @since OOo 2.0 + */ +constants ItemState +{ + //------------------------------------------------------------------------- + /** specifies an unknown state. + */ + const short unknown = 0; + + //------------------------------------------------------------------------- + /** specifies that the property is currently disabled. + */ + const short disabled = 1; + + //------------------------------------------------------------------------- + /** specifies that the property is currently read-only. + */ + const short read_only = 2; + + //------------------------------------------------------------------------- + /** specifies that the property is currently in a don't care state. + + <p> + This is normally used if a selection provides more than one state + for a property at the same time. + </p> + */ + const short dont_care = 16; + + //------------------------------------------------------------------------- + /** specifies that the property is currently in a default state. + */ + const short default_value = 32; + + //------------------------------------------------------------------------- + /** specifies that the property is currently in a set state. + */ + const short set = 64; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/status/ItemStatus.idl b/offapi/com/sun/star/frame/status/ItemStatus.idl new file mode 100644 index 000000000000..4d003f1bcbdf --- /dev/null +++ b/offapi/com/sun/star/frame/status/ItemStatus.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ItemStatus.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_status_ItemState_idl__ +#define __com_sun_star_frame_status_ItemState_idl__ + +//============================================================================= + +module com { module sun { module star { module frame { module status { + +//============================================================================= + +/** describes a state of a property. + + @since OOo 2.0 + */ +struct ItemStatus +{ + //------------------------------------------------------------------------- + + /** numerical value which describes the current state of an item. + + @see <type>ItemState</type> + */ + short State; + + //------------------------------------------------------------------------- + + /** optional data which can be used by an implementation to send additional + information. The content is dependent on the specific implementation. + */ + any aStateData; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/status/LeftRightMargin.idl b/offapi/com/sun/star/frame/status/LeftRightMargin.idl new file mode 100644 index 000000000000..a74336e52e03 --- /dev/null +++ b/offapi/com/sun/star/frame/status/LeftRightMargin.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: LeftRightMargin.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_status_LeftRightMargin_idl__ +#define __com_sun_star_frame_status_LeftRightMargin_idl__ + + +//============================================================================= + +module com { module sun { module star { module frame { module status { + +//============================================================================= + +/** specifies a left and right margin. + + @since OOo 2.0 + */ +struct LeftRightMargin +{ + /** specifies a left side margin in 1/100th mm. + */ + long Left; + + //------------------------------------------------------------------------- + + /** specifies a right side margin in 1/100th mm. + */ + long Right; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/status/Template.idl b/offapi/com/sun/star/frame/status/Template.idl new file mode 100644 index 000000000000..23353450697a --- /dev/null +++ b/offapi/com/sun/star/frame/status/Template.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: Template.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_status_Template_idl__ +#define __com_sun_star_frame_status_Template_idl__ + + +//============================================================================= + +module com { module sun { module star { module frame { module status { + +//============================================================================= + +/** contains an association between a style name and a value. + + @since OOo 2.0 + */ +struct Template +{ + //------------------------------------------------------------------------- + + /** specifies a style name. + */ + string StyleName; + + //------------------------------------------------------------------------- + + /** specifies a value that is bound to the style name. + */ + long Value; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/status/UpperLowerMargin.idl b/offapi/com/sun/star/frame/status/UpperLowerMargin.idl new file mode 100644 index 000000000000..ef6a3e62f553 --- /dev/null +++ b/offapi/com/sun/star/frame/status/UpperLowerMargin.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: UpperLowerMargin.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_status_UpperLowerMargin_idl__ +#define __com_sun_star_frame_status_UpperLowerMargin_idl__ + + +//============================================================================= + +module com { module sun { module star { module frame { module status { + +//============================================================================= + +/** specifies an upper and lower margin. + + @since OOo 2.0 + */ +struct UpperLowerMargin +{ + /** specifies a upper margin in 1/100th mm. + */ + long Upper; + + //------------------------------------------------------------------------- + + /** specifies a lower margin in 1/100th mm. + */ + long Lower; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl b/offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl new file mode 100644 index 000000000000..1f3906aa1568 --- /dev/null +++ b/offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: UpperLowerMarginScale.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_status_UpperLowerMarginScale_idl__ +#define __com_sun_star_frame_status_UpperLowerMarginScale_idl__ + + +//============================================================================= + +module com { module sun { module star { module frame { module status { + +//============================================================================= + +/** specifies an upper and lower margin. + + @since OOo 2.0 + */ +struct UpperLowerMarginScale +{ + /** specifies a upper margin in 1/100th mm. + */ + long Upper; + + //------------------------------------------------------------------------- + + /** specifies a lower margin in 1/100th mm. + */ + long Lower; + + //------------------------------------------------------------------------- + + /** specifies a scale value for the upper margin. + */ + short ScaleUpper; + + //------------------------------------------------------------------------- + + /** specifies a scale value for the lower margin. + */ + short ScaleLower; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/status/Verb.idl b/offapi/com/sun/star/frame/status/Verb.idl new file mode 100644 index 000000000000..236919392288 --- /dev/null +++ b/offapi/com/sun/star/frame/status/Verb.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: Verb.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_status_Verb_idl__ +#define __com_sun_star_frame_status_Verb_idl__ + + +//============================================================================= + +module com { module sun { module star { module frame { module status { + +//============================================================================= + +/** describes a command that can be send to an OLE object + + <p>For example, this can be used to select a font.</p> + + @since OOo 2.0 + */ +struct Verb +{ + //------------------------------------------------------------------------- + + /** specifies the Id of the command. + */ + long VerbId; + + //------------------------------------------------------------------------- + + /** specifies the name of the command. The name is localized. + */ + string VerbName; + + //------------------------------------------------------------------------- + + /** specifies if the command should be visible in a menu. + */ + boolean VerbIsOnMenu; + + /** specifies if the command is available for a constant object. + */ + boolean VerbIsConst; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/status/Visibility.idl b/offapi/com/sun/star/frame/status/Visibility.idl new file mode 100644 index 000000000000..8df5b6c933e5 --- /dev/null +++ b/offapi/com/sun/star/frame/status/Visibility.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: Visibility.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_status_Visibility_idl__ +#define __com_sun_star_frame_status_Visiblilty_idl__ + +//============================================================================= + +module com { module sun { module star { module frame { module status { + +//============================================================================= + +/** describes the visibility state of a property. + + @since OOo 2.0 + */ +struct Visibility +{ + //------------------------------------------------------------------------- + + /** <TRUE/> if the property is visible otherwise <FALSE/>. + */ + boolean bVisible; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/frame/status/makefile.mk b/offapi/com/sun/star/frame/status/makefile.mk new file mode 100644 index 000000000000..2c17f6780359 --- /dev/null +++ b/offapi/com/sun/star/frame/status/makefile.mk @@ -0,0 +1,59 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.7 $ +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/..$/..$/..$/.. + +PRJNAME=offapi + +TARGET=cssfstatus +PACKAGE=com$/sun$/star$/frame$/status + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + FontHeight.idl \ + Verb.idl \ + ClipboardFormats.idl \ + LeftRightMargin.idl \ + UpperLowerMargin.idl \ + UpperLowerMarginScale.idl \ + Template.idl \ + ItemStatus.idl \ + ItemState.idl \ + Visibility.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk |