1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27
28#ifndef __com_sun_star_frame_LayoutManager_idl__
29#define __com_sun_star_frame_LayoutManager_idl__
30
31#ifndef __com_sun_star_frame_XLayoutManager_idl__
32#include <com/sun/star/frame/XLayoutManager.idl>
33#endif
34
35#ifndef __com_sun_star_frame_XFrameActionListener_idl__
36#include <com/sun/star/frame/XFrameActionListener.idl>
37#endif
38
39#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__
40#include <com/sun/star/ui/XUIConfigurationListener.idl>
41#endif
42
43#ifndef __com_sun_star_frame_XInplaceLayout_idl__
44#include <com/sun/star/frame/XInplaceLayout.idl>
45#endif
46
47#ifndef __com_sun_star_beans_XPropertySet_idl__
48#include <com/sun/star/beans/XPropertySet.idl>
49#endif
50
51#ifndef __com_sun_star_frame_XMenuBarMergingAcceptor_idl__
52#include <com/sun/star/frame/XMenuBarMergingAcceptor.idl>
53#endif
54
55#ifndef __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__
56#include <com/sun/star/frame/XLayoutManagerEventBroadcaster.idl>
57#endif
58
59//=============================================================================
60
61 module com { module sun { module star { module frame {
62
63//=============================================================================
64/** controls the layout of user interface elements which are part of a frame.
65
66    <p>
67    Layout management is the process of determining the size and position of
68    user interface elements. By default, each <type>Frame</type> has a layout
69    manager -- it performs layout management for the user interface elements
70    within the frame. User interface elements can provide size and alignment
71    hints to layout managers, but layout managers have the final decision on
72    the size and position of those user interface elements.
73    </p>
74
75    @since OOo 2.0
76*/
77
78service LayoutManager
79{
80    /** central interface to query for, create, destroy and manipulate user
81        interface elements which are bound to a frame.
82
83        @see ::com::sun::star::frame::XLayoutManager;
84    */
85    interface ::com::sun::star::frame::XLayoutManager;
86
87    /** notification interface to receive status information about the state
88        of the connected frame.
89
90        <p>
91        E.g., you can receive events of instantiation/destruction and
92        activation/deactivation of a frame.
93        </p>
94
95        @see XFrame::addFrameActionListener()
96        @see XFrame::removeFrameActionListener()
97    */
98    interface ::com::sun::star::frame::XFrameActionListener;
99
100    /** notification interface to receive change messages of user interface
101        elements which are part of the layout manager.
102
103        <p>
104        E.g., you can receive events of insertion/replacing and
105        removing of settings data of user interface elements.
106        </p>
107
108        @see com::sun::star::ui::XUIConfiguration
109    */
110    interface ::com::sun::star::ui::XUIConfigurationListener;
111
112    /** provides functions to merge menus for inplace editing of components
113        inside OpenOffice.org.
114    */
115    interface ::com::sun::star::frame::XMenuBarMergingAcceptor;
116
117    /** registers listeners that want to receive layout manager
118        events.
119    */
120    [optional] interface ::com::sun::star::frame::XLayoutManagerEventBroadcaster;
121
122    /** interface to support settings a menu bar for inplace editing of
123        components inside OpenOffice.org.
124
125        @deprecated
126    */
127    [optional] interface ::com::sun::star::frame::XInplaceLayout;
128};
129
130}; }; }; };
131
132#endif
133