1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_frame_Controller_idl__ 24#define __com_sun_star_frame_Controller_idl__ 25 26#ifndef __com_sun_star_frame_XController_idl__ 27#include <com/sun/star/frame/XController.idl> 28#endif 29 30#ifndef __com_sun_star_frame_XDispatchProvider_idl__ 31#include <com/sun/star/frame/XDispatchProvider.idl> 32#endif 33 34#ifndef __com_sun_star_awt_XWindow_idl__ 35#include <com/sun/star/awt/XWindow.idl> 36#endif 37 38#ifndef __com_sun_star_ui_XContextMenuInterception_idl__ 39#include <com/sun/star/ui/XContextMenuInterception.idl> 40#endif 41 42#ifndef __com_sun_star_awt_XUserInputInterception_idl__ 43#include <com/sun/star/awt/XUserInputInterception.idl> 44#endif 45 46#ifndef __com_sun_star_view_XSelectionSupplier_idl__ 47#include <com/sun/star/view/XSelectionSupplier.idl> 48#endif 49 50#ifndef __com_sun_star_datatransfer_XTransferableSupplier_idl__ 51#include <com/sun/star/datatransfer/XTransferableSupplier.idl> 52#endif 53 54//============================================================================= 55 56 module com { module sun { module star { module frame { 57 58//============================================================================= 59/** is an abstract service for a component which offers a deeper integration of 60 desktop components than a <type scope="com::sun::star::awt">XWindow</type> 61 can offer 62 63 <p> 64 Such components can be loaded into a <type>Frame</type> inside a <type>Desktop</type> 65 environment. A controller is a richer component then a pure window, but full featured 66 components need a <type>XModel</type> interface too. 67 <br> 68 (see service <type scope="com::sun::star::document">OfficeDocument</type> for further information) 69 <p> 70 71 @see com::sun::star::document::OfficeDocument 72 */ 73published service Controller 74{ 75 //------------------------------------------------------------------------- 76 /** with this interface, components viewed in a <type>Frame</type> can serve 77 events (by supplying dispatches) 78 */ 79 interface XController; 80 81 //------------------------------------------------------------------------- 82 /** for certain functions which are useful at the UI 83 84 <p> 85 Mostly used by the <type>Frame</type> service, which contains this 86 controller object. There will be an interception mechanism for dispatches 87 available too. 88 </p> 89 90 @see XDispatch 91 @see XDispatchProviderInterception 92 */ 93 interface XDispatchProvider; 94 95 //------------------------------------------------------------------------- 96 /** this interface enables the controller to get interceptors registered that 97 change context menue or prevent them from beeing executed 98 99 <p> 100 Don't mix it with <type>XDispatchProviderInterception</type> which 101 intercept calls of <member>XDispatch::dispatch()</member>. 102 </p> 103 */ 104 [optional] interface com::sun::star::ui::XContextMenuInterception; 105 106 //------------------------------------------------------------------------- 107 /** makes it possible to intercept keyboard and mouse input. 108 */ 109 [optional] interface com::sun::star::awt::XUserInputInterception; 110 111 //------------------------------------------------------------------------- 112 /** makes it possible to access and change the selection in a view 113 */ 114 [optional] interface com::sun::star::view::XSelectionSupplier; 115 116 //------------------------------------------------------------------------- 117 /** makes it possible to work with clipboard data 118 */ 119 [optional] interface com::sun::star::datatransfer::XTransferableSupplier; 120}; 121 122//============================================================================= 123 124}; }; }; }; 125 126#endif 127