1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
21 module com
{ module sun
{ module star
{ module frame
{
23 /** is an abstract service for a component which offers a deeper integration of
24 desktop components than a com::sun::star::awt::XWindow
28 Such components can be loaded into a Frame inside a Desktop
29 environment. A controller is a richer component then a pure window, but full featured
30 components need a XModel interface too.
32 (see service com::sun::star::document::OfficeDocument for further information)
35 @see com::sun::star::document::OfficeDocument
37 published service Controller
39 /** with this interface, components viewed in a Frame can serve
40 events (by supplying dispatches)
42 interface XController
;
44 /** for certain functions which are useful at the UI
47 Mostly used by the Frame service, which contains this
48 controller object. There will be an interception mechanism for dispatches
53 @see XDispatchProviderInterception
55 interface XDispatchProvider
;
57 /** this interface enables the controller to get interceptors registered that
58 change context menus or prevent them from being executed
61 Don't mix it with XDispatchProviderInterception which
62 intercept calls of XDispatch::dispatch().
65 [optional] interface com
::sun
::star
::ui
::XContextMenuInterception
;
67 /** makes it possible to intercept keyboard and mouse input.
69 [optional] interface com
::sun
::star
::awt
::XUserInputInterception
;
71 /** makes it possible to access and change the selection in a view
73 [optional] interface com
::sun
::star
::view
::XSelectionSupplier
;
75 /** makes it possible to work with clipboard data
77 [optional] interface com
::sun
::star
::datatransfer
::XTransferableSupplier
;
83 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */