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