summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/frame/LayoutManager.idl
blob: b89743dd9b28ea1276f34628d5d9da4e7a5155cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#ifndef __com_sun_star_frame_LayoutManager_idl__
#define __com_sun_star_frame_LayoutManager_idl__

#include <com/sun/star/frame/XLayoutManager.idl>
#include <com/sun/star/frame/XFrameActionListener.idl>
#include <com/sun/star/ui/XUIConfigurationListener.idl>
#include <com/sun/star/beans/XPropertySet.idl>
#include <com/sun/star/frame/XMenuBarMergingAcceptor.idl>
#include <com/sun/star/frame/XLayoutManagerEventBroadcaster.idl>


 module com { module sun { module star { module frame {

/** controls the layout of user interface elements which are part of a frame.

    <p>
    Layout management is the process of determining the size and position of
    user interface elements. By default, each <type>Frame</type> has a layout
    manager -- it performs layout management for the user interface elements
    within the frame. User interface elements can provide size and alignment
    hints to layout managers, but layout managers have the final decision on
    the size and position of those user interface elements.
    </p>

    @since OOo 2.0
*/

service LayoutManager
{
    /** central interface to query for, create, destroy and manipulate user
        interface elements which are bound to a frame.

        @see ::com::sun::star::frame::XLayoutManager;
    */
    interface ::com::sun::star::frame::XLayoutManager;

    /** notification interface to receive status information about the state
        of the connected frame.

        <p>
        E.g., you can receive events of instantiation/destruction and
        activation/deactivation of a frame.
        </p>

        @see XFrame::addFrameActionListener()
        @see XFrame::removeFrameActionListener()
    */
    interface ::com::sun::star::frame::XFrameActionListener;

    /** notification interface to receive change messages of user interface
        elements which are part of the layout manager.

        <p>
        E.g., you can receive events of insertion/replacing and
        removing of settings data of user interface elements.
        </p>

        @see com::sun::star::ui::XUIConfiguration
    */
    interface ::com::sun::star::ui::XUIConfigurationListener;

    /** provides functions to merge menus for inplace editing of components
        inside OpenOffice.org.
    */
    interface ::com::sun::star::frame::XMenuBarMergingAcceptor;

    /** registers listeners that want to receive layout manager
        events.
    */
    [optional] interface ::com::sun::star::frame::XLayoutManagerEventBroadcaster;

};

}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */