1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: Controller.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_frame_Controller_idl__
31 #define __com_sun_star_frame_Controller_idl__
33 #ifndef __com_sun_star_frame_XController_idl__
34 #include
<com
/sun
/star
/frame
/XController.idl
>
37 #ifndef __com_sun_star_frame_XDispatchProvider_idl__
38 #include
<com
/sun
/star
/frame
/XDispatchProvider.idl
>
41 #ifndef __com_sun_star_awt_XWindow_idl__
42 #include
<com
/sun
/star
/awt
/XWindow.idl
>
45 #ifndef __com_sun_star_ui_XContextMenuInterception_idl__
46 #include
<com
/sun
/star
/ui
/XContextMenuInterception.idl
>
49 #ifndef __com_sun_star_awt_XUserInputInterception_idl__
50 #include
<com
/sun
/star
/awt
/XUserInputInterception.idl
>
53 #ifndef __com_sun_star_view_XSelectionSupplier_idl__
54 #include
<com
/sun
/star
/view
/XSelectionSupplier.idl
>
57 #ifndef __com_sun_star_datatransfer_XTransferableSupplier_idl__
58 #include
<com
/sun
/star
/datatransfer
/XTransferableSupplier.idl
>
61 //=============================================================================
63 module com
{ module sun
{ module star
{ module frame
{
65 //=============================================================================
66 /** is an abstract service for a component which offers a deeper integration of
67 desktop components than a <type scope="com::sun::star::awt">XWindow</type>
71 Such components can be loaded into a <type>Frame</type> inside a <type>Desktop</type>
72 environment. A controller is a richer component then a pure window, but full featured
73 components need a <type>XModel</type> interface too.
75 (see service <type scope="com::sun::star::document">OfficeDocument</type> for further information)
78 @see com::sun::star::document::OfficeDocument
80 published service Controller
82 //-------------------------------------------------------------------------
83 /** with this interface, components viewed in a <type>Frame</type> can serve
84 events (by supplying dispatches)
86 interface XController
;
88 //-------------------------------------------------------------------------
89 /** for certain functions which are useful at the UI
92 Mostly used by the <type>Frame</type> service, which contains this
93 controller object. There will be an interception mechanism for dispatches
98 @see XDispatchProviderInterception
100 interface XDispatchProvider
;
102 //-------------------------------------------------------------------------
103 /** this interface enables the controller to get interceptors registered that
104 change context menue or prevent them from beeing executed
107 Don't mix it with <type>XDispatchProviderInterception</type> which
108 intercept calls of <member>XDispatch::dispatch()</member>.
111 [optional] interface com
::sun
::star
::ui
::XContextMenuInterception
;
113 //-------------------------------------------------------------------------
114 /** makes it possible to intercept keyboard and mouse input.
116 [optional] interface com
::sun
::star
::awt
::XUserInputInterception
;
118 //-------------------------------------------------------------------------
119 /** makes it possible to access and change the selection in a view
121 [optional] interface com
::sun
::star
::view
::XSelectionSupplier
;
123 //-------------------------------------------------------------------------
124 /** makes it possible to work with clipboard data
126 [optional] interface com
::sun
::star
::datatransfer
::XTransferableSupplier
;
129 //=============================================================================