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
24#ifndef __com_sun_star_frame_LayoutManager_idl__
25#define __com_sun_star_frame_LayoutManager_idl__
26
27#ifndef __com_sun_star_frame_XLayoutManager_idl__
28#include <com/sun/star/frame/XLayoutManager.idl>
29#endif
30
31#ifndef __com_sun_star_frame_XFrameActionListener_idl__
32#include <com/sun/star/frame/XFrameActionListener.idl>
33#endif
34
35#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__
36#include <com/sun/star/ui/XUIConfigurationListener.idl>
37#endif
38
39#ifndef __com_sun_star_frame_XInplaceLayout_idl__
40#include <com/sun/star/frame/XInplaceLayout.idl>
41#endif
42
43#ifndef __com_sun_star_beans_XPropertySet_idl__
44#include <com/sun/star/beans/XPropertySet.idl>
45#endif
46
47#ifndef __com_sun_star_frame_XMenuBarMergingAcceptor_idl__
48#include <com/sun/star/frame/XMenuBarMergingAcceptor.idl>
49#endif
50
51#ifndef __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__
52#include <com/sun/star/frame/XLayoutManagerEventBroadcaster.idl>
53#endif
54
55//=============================================================================
56
57 module com { module sun { module star { module frame {
58
59//=============================================================================
60/** controls the layout of user interface elements which are part of a frame.
61
62    <p>
63    Layout management is the process of determining the size and position of
64    user interface elements. By default, each <type>Frame</type> has a layout
65    manager -- it performs layout management for the user interface elements
66    within the frame. User interface elements can provide size and alignment
67    hints to layout managers, but layout managers have the final decision on
68    the size and position of those user interface elements.
69    </p>
70
71    @since OOo 2.0
72*/
73
74service LayoutManager
75{
76    /** central interface to query for, create, destroy and manipulate user
77        interface elements which are bound to a frame.
78
79        @see ::com::sun::star::frame::XLayoutManager;
80    */
81    interface ::com::sun::star::frame::XLayoutManager;
82
83    /** notification interface to receive status information about the state
84        of the connected frame.
85
86        <p>
87        E.g., you can receive events of instantiation/destruction and
88        activation/deactivation of a frame.
89        </p>
90
91        @see XFrame::addFrameActionListener()
92        @see XFrame::removeFrameActionListener()
93    */
94    interface ::com::sun::star::frame::XFrameActionListener;
95
96    /** notification interface to receive change messages of user interface
97        elements which are part of the layout manager.
98
99        <p>
100        E.g., you can receive events of insertion/replacing and
101        removing of settings data of user interface elements.
102        </p>
103
104        @see com::sun::star::ui::XUIConfiguration
105    */
106    interface ::com::sun::star::ui::XUIConfigurationListener;
107
108    /** provides functions to merge menus for inplace editing of components
109        inside OpenOffice.org.
110    */
111    interface ::com::sun::star::frame::XMenuBarMergingAcceptor;
112
113    /** registers listeners that want to receive layout manager
114        events.
115    */
116    [optional] interface ::com::sun::star::frame::XLayoutManagerEventBroadcaster;
117
118    /** interface to support settings a menu bar for inplace editing of
119        components inside OpenOffice.org.
120
121        @deprecated
122    */
123    [optional] interface ::com::sun::star::frame::XInplaceLayout;
124};
125
126}; }; }; };
127
128#endif
129