xref: /AOO41X/main/offapi/com/sun/star/frame/XLayoutManager.idl (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1*cdf0e10cSrcweir/*************************************************************************
2*cdf0e10cSrcweir *
3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir *
5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir *
7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir *
9*cdf0e10cSrcweir * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir *
11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir *
15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir *
21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir *
26*cdf0e10cSrcweir ************************************************************************/
27*cdf0e10cSrcweir
28*cdf0e10cSrcweir#ifndef __com_sun_star_frame_XLayoutManager_idl__
29*cdf0e10cSrcweir#define __com_sun_star_frame_XLayoutManager_idl__
30*cdf0e10cSrcweir
31*cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
32*cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
33*cdf0e10cSrcweir#endif
34*cdf0e10cSrcweir
35*cdf0e10cSrcweir#ifndef __com_sun_star_frame_XFrame_idl__
36*cdf0e10cSrcweir#include <com/sun/star/frame/XFrame.idl>
37*cdf0e10cSrcweir#endif
38*cdf0e10cSrcweir
39*cdf0e10cSrcweir#ifndef __com_sun_star_awt_Point_idl__
40*cdf0e10cSrcweir#include <com/sun/star/awt/Point.idl>
41*cdf0e10cSrcweir#endif
42*cdf0e10cSrcweir
43*cdf0e10cSrcweir#ifndef __com_sun_star_awt_Size_idl__
44*cdf0e10cSrcweir#include <com/sun/star/awt/Size.idl>
45*cdf0e10cSrcweir#endif
46*cdf0e10cSrcweir
47*cdf0e10cSrcweir#ifndef __com_sun_star_awt_XWindow_idl__
48*cdf0e10cSrcweir#include <com/sun/star/awt/XWindow.idl>
49*cdf0e10cSrcweir#endif
50*cdf0e10cSrcweir
51*cdf0e10cSrcweir#ifndef __com_sun_star_ui_XUIElement_idl__
52*cdf0e10cSrcweir#include <com/sun/star/ui/XUIElement.idl>
53*cdf0e10cSrcweir#endif
54*cdf0e10cSrcweir
55*cdf0e10cSrcweir#ifndef __com_sun_star_ui_DockingArea_idl__
56*cdf0e10cSrcweir#include <com/sun/star/ui/DockingArea.idl>
57*cdf0e10cSrcweir#endif
58*cdf0e10cSrcweir
59*cdf0e10cSrcweir#ifndef __com_sun_star_ui_XDockingAreaAcceptor_idl__
60*cdf0e10cSrcweir#include <com/sun/star/ui/XDockingAreaAcceptor.idl>
61*cdf0e10cSrcweir#endif
62*cdf0e10cSrcweir
63*cdf0e10cSrcweir//=============================================================================
64*cdf0e10cSrcweir
65*cdf0e10cSrcweirmodule com { module sun { module star { module frame {
66*cdf0e10cSrcweir
67*cdf0e10cSrcweir//=============================================================================
68*cdf0e10cSrcweir
69*cdf0e10cSrcweir/** central interface to query for, create, destroy and manipulate user
70*cdf0e10cSrcweir    interface elements which are bound to a layout manager.
71*cdf0e10cSrcweir
72*cdf0e10cSrcweir    <p>
73*cdf0e10cSrcweir    Every user interface element which is controlled by a layout manager has
74*cdf0e10cSrcweir    a unique identifier called resource URL.
75*cdf0e10cSrcweir
76*cdf0e10cSrcweir    A resourcce URL must meet the following syntax:
77*cdf0e10cSrcweir    "private:resource/$type/$name". It is only allowed to use ascii characters
78*cdf0e10cSrcweir    for type and name.
79*cdf0e10cSrcweir
80*cdf0e10cSrcweir    Currently the following user interface element types are defined:
81*cdf0e10cSrcweir    <ul>
82*cdf0e10cSrcweir        <li><b>menubar</b>A configurable user interface element representing
83*cdf0e10cSrcweir        a menu bar.</li>
84*cdf0e10cSrcweir        <li><b>popupmenu</b>A configurable user interface element representing
85*cdf0e10cSrcweir        a popup menu.</li>
86*cdf0e10cSrcweir        <li><b>toolbar</b>A configurable user interface element a tool
87*cdf0e10cSrcweir        bar.</li>
88*cdf0e10cSrcweir        <li><b>statusbar</b>A configurable user interfave element representing
89*cdf0e10cSrcweir        a status bar.</li>
90*cdf0e10cSrcweir        <li><b>floater</b>A basic user interface element representing a
91*cdf0e10cSrcweir        floating window.</li>
92*cdf0e10cSrcweir    </ul>
93*cdf0e10cSrcweir
94*cdf0e10cSrcweir    @see com::sun::star::ui::UIElementTypes
95*cdf0e10cSrcweir    @see com::sun::star::frame::XFrame
96*cdf0e10cSrcweir    </p>
97*cdf0e10cSrcweir
98*cdf0e10cSrcweir    @since OOo 2.0
99*cdf0e10cSrcweir*/
100*cdf0e10cSrcweir
101*cdf0e10cSrcweirpublished interface XLayoutManager : com::sun::star::uno::XInterface
102*cdf0e10cSrcweir{
103*cdf0e10cSrcweir    /** attaches a <type scope="com::sun::star::frame">XFrame</type> to a layout manager.
104*cdf0e10cSrcweir
105*cdf0e10cSrcweir        @param Frame
106*cdf0e10cSrcweir            specifies the frame that should be attached to the layout manager
107*cdf0e10cSrcweir
108*cdf0e10cSrcweir        <p>
109*cdf0e10cSrcweir        A layout manager needs a <type scope="com::sun::star::frame">XFrame</type> to be
110*cdf0e10cSrcweir        able to work. Without a it no user interface elements can be created.
111*cdf0e10cSrcweir        </p>
112*cdf0e10cSrcweir    */
113*cdf0e10cSrcweir    void attachFrame( [in] com::sun::star::frame::XFrame Frame );
114*cdf0e10cSrcweir
115*cdf0e10cSrcweir    /** resets the layout manager and remove all of its internal user interface
116*cdf0e10cSrcweir        elements.
117*cdf0e10cSrcweir
118*cdf0e10cSrcweir        <p>
119*cdf0e10cSrcweir        This call should be handled with care as all user interface elements will
120*cdf0e10cSrcweir        be destroyed and the layout manager is reseted to a state after a
121*cdf0e10cSrcweir        <member>attachFrame</member> has been made. That means an attached frame
122*cdf0e10cSrcweir        which has been set by <member>attachFrame</member> is not released.
123*cdf0e10cSrcweir        The layout manager itself calls reset after a component has been attached
124*cdf0e10cSrcweir        or reattached to a frame.
125*cdf0e10cSrcweir        </p>
126*cdf0e10cSrcweir    */
127*cdf0e10cSrcweir    void reset();
128*cdf0e10cSrcweir
129*cdf0e10cSrcweir    /** provides the current docking area size of the layout manager.
130*cdf0e10cSrcweir
131*cdf0e10cSrcweir        @return
132*cdf0e10cSrcweir            The <type scope="com::sun::star::awt">Rectangle</type> contains pixel values. The
133*cdf0e10cSrcweir            members of <type scope="com::sun::star::awt">Rectangle</type> are filled as following:
134*cdf0e10cSrcweir            <ul>
135*cdf0e10cSrcweir                <li>X      = docking area on left side (in pixel)</li>
136*cdf0e10cSrcweir                <li>Y      = docking area on top side (in pixel)</li>
137*cdf0e10cSrcweir                <li>Width  = docking area on right side (in pixel)</li>
138*cdf0e10cSrcweir                <li>Height = docking area on bottom side (in pixel)</li>
139*cdf0e10cSrcweir            </ul>
140*cdf0e10cSrcweir    */
141*cdf0e10cSrcweir    com::sun::star::awt::Rectangle getCurrentDockingArea();
142*cdf0e10cSrcweir
143*cdf0e10cSrcweir    /** retrieves the current docking area acceptor that controls the border space of the frame's
144*cdf0e10cSrcweir        container window.
145*cdf0e10cSrcweir
146*cdf0e10cSrcweir        @return
147*cdf0e10cSrcweir            current docking area acceptor which controls the border space of frame's container window.
148*cdf0e10cSrcweir
149*cdf0e10cSrcweir        <p>
150*cdf0e10cSrcweir        A docking area acceptor retrieved by this method is owned by the layout manager. It is not
151*cdf0e10cSrcweir        allowed to dispose this object, it will be destroyed on reference count!
152*cdf0e10cSrcweir        </p>
153*cdf0e10cSrcweir    */
154*cdf0e10cSrcweir    com::sun::star::ui::XDockingAreaAcceptor getDockingAreaAcceptor();
155*cdf0e10cSrcweir
156*cdf0e10cSrcweir    /** sets a docking area acceptor that controls the border space of the frame's container window.
157*cdf0e10cSrcweir
158*cdf0e10cSrcweir        @param xDockingAreaAcceptor
159*cdf0e10cSrcweir            a docking area acceptor which controls the border space of frame's container window.
160*cdf0e10cSrcweir
161*cdf0e10cSrcweir        <p>
162*cdf0e10cSrcweir        A docking area acceptor decides if the layout manager can use requested border space for
163*cdf0e10cSrcweir        docking windows. If the acceptor denies the requested space the layout manager automatically
164*cdf0e10cSrcweir        set all docked windows into floating state and will not use this space for docking.<br/>
165*cdf0e10cSrcweir        After setting a docking area acceptor the object is owned by the layout manager. It is not
166*cdf0e10cSrcweir        allowed to dispose this object, it will be destroyed on reference count!
167*cdf0e10cSrcweir        </p>
168*cdf0e10cSrcweir    */
169*cdf0e10cSrcweir    void setDockingAreaAcceptor( [in] com::sun::star::ui::XDockingAreaAcceptor xDockingAreaAcceptor );
170*cdf0e10cSrcweir
171*cdf0e10cSrcweir    /** creates a new user interface element.
172*cdf0e10cSrcweir
173*cdf0e10cSrcweir        @param ResourceURL
174*cdf0e10cSrcweir            specifies which user interface element should be created. A resourcce URL must meet the following
175*cdf0e10cSrcweir            syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
176*cdf0e10cSrcweir            name.
177*cdf0e10cSrcweir    */
178*cdf0e10cSrcweir    void createElement( [in] string ResourceURL );
179*cdf0e10cSrcweir
180*cdf0e10cSrcweir    /** destroys a user interface element.
181*cdf0e10cSrcweir
182*cdf0e10cSrcweir        @param ResourceURL
183*cdf0e10cSrcweir            specifies which user interface element should be destroyed. A resourcce URL must meet
184*cdf0e10cSrcweir            the following syntax: "private:resource/$type/$name". It is only allowed to use ascii
185*cdf0e10cSrcweir            characters for type and name.
186*cdf0e10cSrcweir    */
187*cdf0e10cSrcweir    void destroyElement( [in] string ResourceURL );
188*cdf0e10cSrcweir
189*cdf0e10cSrcweir    /** request to make a user interface element visible if it is not in hidden state.
190*cdf0e10cSrcweir
191*cdf0e10cSrcweir        @param ResourceURL
192*cdf0e10cSrcweir            specifies which user interface element should be made visible. A resourcce URL must
193*cdf0e10cSrcweir            meet the following syntax: "private:resource/$type/$name". It is only allowed to use
194*cdf0e10cSrcweir            ascii characters for type and
195*cdf0e10cSrcweir            name.
196*cdf0e10cSrcweir
197*cdf0e10cSrcweir        @return
198*cdf0e10cSrcweir            returns <TRUE/> if the user interface element could be made visible, otherwise
199*cdf0e10cSrcweir            <FALSE/> will be returned.
200*cdf0e10cSrcweir
201*cdf0e10cSrcweir        <p>
202*cdf0e10cSrcweir        If a user interface element should forced to the visible state
203*cdf0e10cSrcweir        <member>XLayoutManager::showElement</member> should be used. This function can be
204*cdf0e10cSrcweir        used for context dependent elements which should respect a the current visibility
205*cdf0e10cSrcweir        state.
206*cdf0e10cSrcweir        </p>
207*cdf0e10cSrcweir    */
208*cdf0e10cSrcweir    boolean requestElement( [in] string ResourceURL );
209*cdf0e10cSrcweir
210*cdf0e10cSrcweir    /** retrieves a user interface element which has been created before.
211*cdf0e10cSrcweir
212*cdf0e10cSrcweir        @param ResourceURL
213*cdf0e10cSrcweir            specifies which user interface element should be retrieved. A resourcce URL must meet the following
214*cdf0e10cSrcweir            syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
215*cdf0e10cSrcweir            name.
216*cdf0e10cSrcweir
217*cdf0e10cSrcweir        <p>
218*cdf0e10cSrcweir        The layout manager instance is owner of the returned user interface element. That means that the life time of
219*cdf0e10cSrcweir        the user interface element is controlled by the layout manager. It can be disposed at every time!
220*cdf0e10cSrcweir        </p>
221*cdf0e10cSrcweir    */
222*cdf0e10cSrcweir    com::sun::star::ui::XUIElement getElement( [in] string ResourceURL );
223*cdf0e10cSrcweir
224*cdf0e10cSrcweir    /** retrieves all user interface elements which are currently instanciated.
225*cdf0e10cSrcweir
226*cdf0e10cSrcweir        @return
227*cdf0e10cSrcweir            a sequence of user interface elements providing <type scope="com::sun::star::ui">XUIElement</type>
228*cdf0e10cSrcweir            interface.
229*cdf0e10cSrcweir
230*cdf0e10cSrcweir        <p>
231*cdf0e10cSrcweir        The layout manager instance is owner of the returned user interface elements. That means that the life time of
232*cdf0e10cSrcweir        the user interface elements is controlled by the layout manager. They can be disposed at every time!
233*cdf0e10cSrcweir        </p>
234*cdf0e10cSrcweir    */
235*cdf0e10cSrcweir    sequence< com::sun::star::ui::XUIElement > getElements();
236*cdf0e10cSrcweir
237*cdf0e10cSrcweir    /** shows a user interface element.
238*cdf0e10cSrcweir
239*cdf0e10cSrcweir        @param ResourceURL
240*cdf0e10cSrcweir            specifies which user interface element should be shown. A resourcce URL must meet the following
241*cdf0e10cSrcweir            syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
242*cdf0e10cSrcweir            name.
243*cdf0e10cSrcweir
244*cdf0e10cSrcweir        @return
245*cdf0e10cSrcweir            returns <TRUE/> if the user interface element has been shown, otherwise <FALSE/> will be returned.
246*cdf0e10cSrcweir    */
247*cdf0e10cSrcweir    boolean showElement( [in] string ResourceURL );
248*cdf0e10cSrcweir
249*cdf0e10cSrcweir    /** hides a user interface element.
250*cdf0e10cSrcweir
251*cdf0e10cSrcweir        @param ResourceURL
252*cdf0e10cSrcweir            specifies which user interface element should be hidden. A resourcce URL must meet the following
253*cdf0e10cSrcweir            syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
254*cdf0e10cSrcweir            name.
255*cdf0e10cSrcweir
256*cdf0e10cSrcweir        @return
257*cdf0e10cSrcweir            returns <TRUE/> if the user interface element has been hidden, otherwise <FALSE/> will be returned.
258*cdf0e10cSrcweir    */
259*cdf0e10cSrcweir    boolean hideElement( [in] string ResourceURL );
260*cdf0e10cSrcweir
261*cdf0e10cSrcweir    /** docks a window based user interface element to a specified docking area.
262*cdf0e10cSrcweir
263*cdf0e10cSrcweir        @param ResourceURL
264*cdf0e10cSrcweir            specifies which user interface element should be docked. A resourcce URL must meet the following
265*cdf0e10cSrcweir            syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
266*cdf0e10cSrcweir            name.
267*cdf0e10cSrcweir
268*cdf0e10cSrcweir        @param DockingArea
269*cdf0e10cSrcweir            specifies on which docking area the window based user interface element should docked.
270*cdf0e10cSrcweir
271*cdf0e10cSrcweir        @param Pos
272*cdf0e10cSrcweir            specifies the position inside the docking area.
273*cdf0e10cSrcweir
274*cdf0e10cSrcweir        @return
275*cdf0e10cSrcweir            returns <TRUE/> if the user interface element has been docked, otherwise <FALSE/> will be returned.
276*cdf0e10cSrcweir
277*cdf0e10cSrcweir        @see com::sun::star::ui::DockingArea
278*cdf0e10cSrcweir    */
279*cdf0e10cSrcweir    boolean dockWindow( [in] string ResourceURL, [in] com::sun::star::ui::DockingArea DockingArea, [in] com::sun::star::awt::Point Pos );
280*cdf0e10cSrcweir
281*cdf0e10cSrcweir    /** docks all windows which are member of the provided user interface element type.
282*cdf0e10cSrcweir
283*cdf0e10cSrcweir        @param nElementType
284*cdf0e10cSrcweir            specifies which user interface element type should be docked.
285*cdf0e10cSrcweir
286*cdf0e10cSrcweir        @return
287*cdf0e10cSrcweir            returns <TRUE/> if all user interface elements of the requested type could be
288*cdf0e10cSrcweir            docked, otherwise <FALSE/> will be returned.
289*cdf0e10cSrcweir
290*cdf0e10cSrcweir        @see com::sun::star::ui::UIElementType
291*cdf0e10cSrcweir    */
292*cdf0e10cSrcweir    boolean dockAllWindows( [in] short nElementType );
293*cdf0e10cSrcweir
294*cdf0e10cSrcweir    /** forces a window based user interface element to float.
295*cdf0e10cSrcweir
296*cdf0e10cSrcweir        @param ResourceURL
297*cdf0e10cSrcweir            specifies which user interface element should be float. A resourcce URL must meet the following
298*cdf0e10cSrcweir            syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
299*cdf0e10cSrcweir            name.
300*cdf0e10cSrcweir
301*cdf0e10cSrcweir        @return
302*cdf0e10cSrcweir            returns <TRUE/> if the user interface element has been docked, otherwise <FALSE/> will be returned.
303*cdf0e10cSrcweir    */
304*cdf0e10cSrcweir    boolean floatWindow( [in] string ResourceURL );
305*cdf0e10cSrcweir
306*cdf0e10cSrcweir    /** locks a window based user interface element if it's in a docked state.
307*cdf0e10cSrcweir
308*cdf0e10cSrcweir        @param ResourceURL
309*cdf0e10cSrcweir            specifies which user interface element should be locked. A resourcce URL must meet the following
310*cdf0e10cSrcweir            syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
311*cdf0e10cSrcweir            name.
312*cdf0e10cSrcweir
313*cdf0e10cSrcweir        @return
314*cdf0e10cSrcweir            returns <TRUE/> if the user interface element has been locked, otherwise <FALSE/> will be returned.
315*cdf0e10cSrcweir    */
316*cdf0e10cSrcweir    boolean lockWindow( [in] string ResourceURL );
317*cdf0e10cSrcweir
318*cdf0e10cSrcweir    /** unlocks a window based user interface element if it's in a docked state.
319*cdf0e10cSrcweir
320*cdf0e10cSrcweir        @param ResourceURL
321*cdf0e10cSrcweir            specifies which user interface element should be unlocked. A resourcce URL must
322*cdf0e10cSrcweir            meet the following syntax: "private:resource/$type/$name". It is only allowed
323*cdf0e10cSrcweir            to use ascii characters for type and name.
324*cdf0e10cSrcweir
325*cdf0e10cSrcweir        @return
326*cdf0e10cSrcweir            returns <TRUE/> if the user interface element has been unlocked, otherwise
327*cdf0e10cSrcweir            <FALSE/> will be returned.
328*cdf0e10cSrcweir    */
329*cdf0e10cSrcweir    boolean unlockWindow( [in] string ResourceURL );
330*cdf0e10cSrcweir
331*cdf0e10cSrcweir    /** sets a new size for a window based user interface element.
332*cdf0e10cSrcweir
333*cdf0e10cSrcweir        @param ResourceURL
334*cdf0e10cSrcweir            specifies which user interface element should be resized. A resourcce URL must meet the following
335*cdf0e10cSrcweir            syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
336*cdf0e10cSrcweir            name.
337*cdf0e10cSrcweir
338*cdf0e10cSrcweir        @param Size
339*cdf0e10cSrcweir            specifies the new size in pixel.
340*cdf0e10cSrcweir
341*cdf0e10cSrcweir        <p>
342*cdf0e10cSrcweir        It is up to the layout manager to decide if the user interface element can be resized. The new size can be retrieved
343*cdf0e10cSrcweir        by calling <member>getElementSize</member>.
344*cdf0e10cSrcweir        </p>
345*cdf0e10cSrcweir    */
346*cdf0e10cSrcweir    void setElementSize( [in] string ResourceURL, [in] com::sun::star::awt::Size Size );
347*cdf0e10cSrcweir
348*cdf0e10cSrcweir    /** sets a new position for a window based user interface element.
349*cdf0e10cSrcweir
350*cdf0e10cSrcweir        @param ResourceURL
351*cdf0e10cSrcweir            specifies which user interface element should be moved. A resourcce URL must meet the following
352*cdf0e10cSrcweir            syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
353*cdf0e10cSrcweir            name.
354*cdf0e10cSrcweir
355*cdf0e10cSrcweir        @param Pos
356*cdf0e10cSrcweir            specifies the new position in pixel.
357*cdf0e10cSrcweir
358*cdf0e10cSrcweir        <p>
359*cdf0e10cSrcweir        It is up to the layout manager to decide if the user interface element can be moved. The new position can be retrieved
360*cdf0e10cSrcweir        by calling <member>getElementPos</member>.
361*cdf0e10cSrcweir        </p>
362*cdf0e10cSrcweir    */
363*cdf0e10cSrcweir    void setElementPos( [in] string ResourceURL, [in] com::sun::star::awt::Point Pos );
364*cdf0e10cSrcweir
365*cdf0e10cSrcweir    /** sets a new position and size for a window based user interface element.
366*cdf0e10cSrcweir
367*cdf0e10cSrcweir        @param ResourceURL
368*cdf0e10cSrcweir            specifies which user interface element should be moved and resized. A resourcce URL must meet the following
369*cdf0e10cSrcweir            syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
370*cdf0e10cSrcweir            name.
371*cdf0e10cSrcweir
372*cdf0e10cSrcweir        @param Pos
373*cdf0e10cSrcweir            specifies the new position in pixel.
374*cdf0e10cSrcweir
375*cdf0e10cSrcweir        @param Size
376*cdf0e10cSrcweir            specifies the new position in pixel.
377*cdf0e10cSrcweir
378*cdf0e10cSrcweir        <p>
379*cdf0e10cSrcweir        It is up to the layout manager to decide if the user interface element can be moved and resized. The new position and size can
380*cdf0e10cSrcweir        be retrieved by calling <member>getElementPos</member> and <member>getElementSize</member>.
381*cdf0e10cSrcweir        </p>
382*cdf0e10cSrcweir    */
383*cdf0e10cSrcweir    void setElementPosSize( [in] string ResourceURL, [in] com::sun::star::awt::Point Pos, [in] com::sun::star::awt::Size Size );
384*cdf0e10cSrcweir
385*cdf0e10cSrcweir    /** retrieves the current visibility state of a window based user interface element.
386*cdf0e10cSrcweir
387*cdf0e10cSrcweir        @param ResourceURL
388*cdf0e10cSrcweir            specifies for which user interface element the visibility state should be retrieved. A resource URL must meet
389*cdf0e10cSrcweir            the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
390*cdf0e10cSrcweir            name.
391*cdf0e10cSrcweir
392*cdf0e10cSrcweir        @return
393*cdf0e10cSrcweir            <TRUE/> if the user interface element is visible, otherwise <FALSE/>.
394*cdf0e10cSrcweir    */
395*cdf0e10cSrcweir    boolean isElementVisible( [in] string ResourceURL );
396*cdf0e10cSrcweir
397*cdf0e10cSrcweir    /** retrieves the current floating state of a window based user interface element.
398*cdf0e10cSrcweir
399*cdf0e10cSrcweir        @param ResourceURL
400*cdf0e10cSrcweir            specifies for which user interface element the floating state should be retrieved. A resource URL must meet
401*cdf0e10cSrcweir            the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
402*cdf0e10cSrcweir            name.
403*cdf0e10cSrcweir
404*cdf0e10cSrcweir        @return
405*cdf0e10cSrcweir            <TRUE/> if the user interface element is floating, otherwise <FALSE/>.
406*cdf0e10cSrcweir    */
407*cdf0e10cSrcweir    boolean isElementFloating( [in] string ResourceURL );
408*cdf0e10cSrcweir
409*cdf0e10cSrcweir    /** retrieves the current docking state of a window based user interface element.
410*cdf0e10cSrcweir
411*cdf0e10cSrcweir        @param ResourceURL
412*cdf0e10cSrcweir            specifies for which user interface element the docking state should be retrieved. A resource URL must meet
413*cdf0e10cSrcweir            the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
414*cdf0e10cSrcweir            name.
415*cdf0e10cSrcweir
416*cdf0e10cSrcweir        @return
417*cdf0e10cSrcweir            <TRUE/> if the user interface element is docked, otherwise <FALSE/>.
418*cdf0e10cSrcweir    */
419*cdf0e10cSrcweir    boolean isElementDocked( [in] string ResourceURL );
420*cdf0e10cSrcweir
421*cdf0e10cSrcweir    /** retrieves the current lock state of a window based user interface element.
422*cdf0e10cSrcweir
423*cdf0e10cSrcweir        @param ResourceURL
424*cdf0e10cSrcweir            specifies for which user interface element the lock state should be retrieved. A resource URL must meet
425*cdf0e10cSrcweir            the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
426*cdf0e10cSrcweir            name.
427*cdf0e10cSrcweir
428*cdf0e10cSrcweir        @return
429*cdf0e10cSrcweir            <TRUE/> if the user interface element is locked, otherwise <FALSE/>.
430*cdf0e10cSrcweir    */
431*cdf0e10cSrcweir    boolean isElementLocked( [in] string ResourceURL  );
432*cdf0e10cSrcweir
433*cdf0e10cSrcweir    /** retrieves the current size of a window based user interface element.
434*cdf0e10cSrcweir
435*cdf0e10cSrcweir        @param ResourceURL
436*cdf0e10cSrcweir            specifies for which user interface element the current size should be retrieved. A resource URL must meet
437*cdf0e10cSrcweir            the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
438*cdf0e10cSrcweir            name.
439*cdf0e10cSrcweir
440*cdf0e10cSrcweir        @return
441*cdf0e10cSrcweir            the size in pixel of the user interface element. A non-window based user interface element provides a zero size.
442*cdf0e10cSrcweir    */
443*cdf0e10cSrcweir    com::sun::star::awt::Size getElementSize( [in] string ResourceURL );
444*cdf0e10cSrcweir
445*cdf0e10cSrcweir    /** retrieves the current pixel position of a window based user interface element.
446*cdf0e10cSrcweir
447*cdf0e10cSrcweir        @param ResourceURL
448*cdf0e10cSrcweir            specifies for which user interface element the current position should be retrieved. A resource URL must meet
449*cdf0e10cSrcweir            the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
450*cdf0e10cSrcweir            name.
451*cdf0e10cSrcweir
452*cdf0e10cSrcweir        @return
453*cdf0e10cSrcweir            the size in pixel of the user interface element. A non-window based user interface element provides a zero size.
454*cdf0e10cSrcweir    */
455*cdf0e10cSrcweir    com::sun::star::awt::Point getElementPos( [in] string ResourceURL );
456*cdf0e10cSrcweir
457*cdf0e10cSrcweir    /** prohibit all layout updates until unlock is called again.
458*cdf0e10cSrcweir
459*cdf0e10cSrcweir        <p>
460*cdf0e10cSrcweir        This call can be used to speed up the creation process of serveral user interface elements. Otherwise the layout manager
461*cdf0e10cSrcweir        would calculate the layout for every creation.
462*cdf0e10cSrcweir        </p>
463*cdf0e10cSrcweir    */
464*cdf0e10cSrcweir    void lock();
465*cdf0e10cSrcweir
466*cdf0e10cSrcweir    /** permit layout updates again.
467*cdf0e10cSrcweir
468*cdf0e10cSrcweir        <p>
469*cdf0e10cSrcweir        This function should be called to permit layout updates. The layout manager starts to calculate the new layout after
470*cdf0e10cSrcweir        this call.
471*cdf0e10cSrcweir        </p>
472*cdf0e10cSrcweir    */
473*cdf0e10cSrcweir    void unlock();
474*cdf0e10cSrcweir
475*cdf0e10cSrcweir    /** forces a complete new layouting of all user interface elements.
476*cdf0e10cSrcweir    */
477*cdf0e10cSrcweir    void doLayout();
478*cdf0e10cSrcweir
479*cdf0e10cSrcweir    /** sets the layout manager to invisible state and hides all user interface elements.
480*cdf0e10cSrcweir
481*cdf0e10cSrcweir        <p>
482*cdf0e10cSrcweir        A layout manager can be set to invisible state to force it to hide all of its
483*cdf0e10cSrcweir        user interface elements. If another component wants to use the window for its
484*cdf0e10cSrcweir        own user interface elements it can use this function. This function is normally
485*cdf0e10cSrcweir        used to implement inplace editing.
486*cdf0e10cSrcweir        </p>
487*cdf0e10cSrcweir
488*cdf0e10cSrcweir        @param Visible
489*cdf0e10cSrcweir            provide <FALSE/> to make layout manager invisible otherwise this must be
490*cdf0e10cSrcweir            set to <TRUE/>.
491*cdf0e10cSrcweir    */
492*cdf0e10cSrcweir    void setVisible( [in] boolean Visible );
493*cdf0e10cSrcweir
494*cdf0e10cSrcweir    /** retrieves the visibility state of a layout manager.
495*cdf0e10cSrcweir
496*cdf0e10cSrcweir        <p>
497*cdf0e10cSrcweir        A layout manager can be set to invisible state to force it to hide all of its
498*cdf0e10cSrcweir        user interface elements. If another component wants to use the window for its
499*cdf0e10cSrcweir        own user interface elements it can use this function. This function is normally
500*cdf0e10cSrcweir        used to implement inplace editing.
501*cdf0e10cSrcweir        </p>
502*cdf0e10cSrcweir
503*cdf0e10cSrcweir    */
504*cdf0e10cSrcweir    boolean isVisible();
505*cdf0e10cSrcweir
506*cdf0e10cSrcweir};
507*cdf0e10cSrcweir
508*cdf0e10cSrcweir}; }; }; };
509*cdf0e10cSrcweir
510*cdf0e10cSrcweir#endif
511