summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl
blob: d6c9b636b52372c0e23e38a16a1ee1e3e2dabd42 (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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 * 
 * Copyright 2008 by Sun Microsystems, Inc.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * $RCSfile: XDockingAreaAcceptor.idl,v $
 * $Revision: 1.5 $
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/

#ifndef __com_sun_star_ui_XDockingAreaAcceptor_idl__
#define __com_sun_star_ui_XDockingAreaAcceptor_idl__

#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif

#ifndef __com_sun_star_awt_Rectangle_idl__
#include <com/sun/star/awt/Rectangle.idl>
#endif

#ifndef __com_sun_star_awt_XWindow_idl__
#include <com/sun/star/awt/XWindow.idl>
#endif

//============================================================================= 

module com { module sun { module star { module ui {

//============================================================================= 

/** this interface enables developer to implement different docking area
    acceptors which are used by the frame based layout manager.

    <p>
    A docking area acceptor is responsible to control the docking area of a
    container window. As OLE for example supports inplace and outplace editing, 
    there are different parts of code responsible for the container window. 
    This interface enables developer to make support implementations for these 
    scenarios.

    @see com::sun::star::frame::XFrame
    </p>

    @since OOo 2.0.0
*/


interface XDockingAreaAcceptor : com::sun::star::uno::XInterface
{
    /** provide the container window where the layout manager can request border 
        space for docking windows.
        
        <p>
        Additionally the layout manager uses this window to create its own child 
        windows for docking purposes.
        </p>
    */
    com::sun::star::awt::XWindow getContainerWindow();
    
    /** method to ask an implementation if the provided space for docking windows 
        is available or not.
        
        <p>
        The <type scope="com::sun::star::awt">Rectangle</type> parameter is 
        filled by the caller with pixel data. The members of 
        <type scope="com::sun::star::awt">Rectangle</type> must be filled 
        as following:
        <ul>
            <li>X      = requested area on left side (in pixel)</li>
            <li>Y      = requested area on top side (in pixel)</li>
            <li>Width  = requested area on right side (in pixel)</li>
            <li>Height = requested area on bottom side (in pixel)</li>
        </ul>
        </p>
    */
    boolean requestDockingAreaSpace( [in] com::sun::star::awt::Rectangle RequestedSpace );

    /** method to brief an implementation that we need new border space.

        <p>
        The callee must size its document window so that we have the amount 
        of space we have provided. The <type scope="com::sun::star::awt">Rectangle</type>
        parameter is filled by the caller with pixel data. The members of 
        <type scope="com::sun::star::awt">Rectangle</type> must be filled as 
        following:
        <ul>
            <li>X      = new area on left side (in pixel)</li>
            <li>Y      = new area on top side (in pixel)</li>
            <li>Width  = new area on right side (in pixel)</li>
            <li>Height = new area on bottom side (in pixel)</li>
        </ul>
        </p>
    */
    void setDockingAreaSpace( [in] com::sun::star::awt::Rectangle BorderSpace );
};

}; }; }; };

//============================================================================= 

#endif