/* -*- 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 .
*/
module com { module sun { module star { module frame {
/** central interface to query for, create, destroy and manipulate user
interface elements which are bound to a layout manager .
< p >
Every user interface element which is controlled by a layout manager has
a unique identifier called resource URL .
A resource URL must meet the following syntax :
" private : resource / $ type / $ name " . It is only allowed to use ASCII characters
for type and name .
Currently the following user interface element types are defined :
< ul >
< li > < b > menubar < / b > A configurable user interface element representing
a menu bar . < / li >
< li > < b > popupmenu < / b > A configurable user interface element representing
a pop - up menu . < / li >
< li > < b > toolbar < / b > A configurable user interface element a tool
bar . < / li >
< li > < b > statusbar < / b > A configurable user interface element representing
a status bar . < / li >
< li > < b > floater < / b > A basic user interface element representing a
floating window . < / li >
< / ul >
@ see com : : sun : : star : : ui : : UIElementTypes
@ see com : : sun : : star : : frame : : XFrame
< / p >
@ since OOo 2 . 0
*/
interface XLayoutManager : com::sun::star::uno::XInterface
{
/** attaches a com::sun::star::frame::XFrame to a layout manager.
@ param Frame
specifies the frame that should be attached to the layout manager
< p >
A layout manager needs a com : : sun : : star : : frame : : XFrame to be
able to work . Without a it no user interface elements can be created .
< / p >
*/
void attachFrame( [in] com::sun::star::frame::XFrame Frame );
/** resets the layout manager and remove all of its internal user interface
elements .
< p >
This call should be handled with care as all user interface elements will
be destroyed and the layout manager is reset to a state after a
attachFrame ( ) has been made . That means an attached frame
which has been set by attachFrame ( ) is not released .
The layout manager itself calls reset after a component has been attached
or reattached to a frame .
< / p >
*/
void reset();
/** provides the current docking area size of the layout manager.
@ return
The com : : sun : : star : : awt : : Rectangle contains pixel values . The
members of com : : sun : : star : : awt : : Rectangle are filled as following :
< ul >
< li > X = docking area on left side ( in pixel ) < / li >
< li > Y = docking area on top side ( in pixel ) < / li >
< li > Width = docking area on right side ( in pixel ) < / li >
< li > Height = docking area on bottom side ( in pixel ) < / li >
< / ul >
*/
com::sun::star::awt::Rectangle getCurrentDockingArea();
/** retrieves the current docking area acceptor that controls the border space of the frame's
container window .
@ return
current docking area acceptor which controls the border space of frame ' s container window .
< p >
A docking area acceptor retrieved by this method is owned by the layout manager . It is not
allowed to dispose this object , it will be destroyed on reference count !
< / p >
*/
com::sun::star::ui::XDockingAreaAcceptor getDockingAreaAcceptor();
/** sets a docking area acceptor that controls the border space of the frame's container window.
@ param xDockingAreaAcceptor
a docking area acceptor which controls the border space of frame ' s container window .
< p >
A docking area acceptor decides if the layout manager can use requested border space for
docking windows . If the acceptor denies the requested space the layout manager automatically
set all docked windows into floating state and will not use this space for docking . < br / >
After setting a docking area acceptor the object is owned by the layout manager . It is not
allowed to dispose this object , it will be destroyed on reference count !
< / p >
*/
void setDockingAreaAcceptor( [in] com::sun::star::ui::XDockingAreaAcceptor xDockingAreaAcceptor );
/** creates a new user interface element.
@ param ResourceURL
specifies which user interface element should be created . A resource URL must meet the following
syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
*/
void createElement( [in] string ResourceURL );
/** destroys a user interface element.
@ param ResourceURL
specifies which user interface element should be destroyed . A resource URL must meet
the following syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII
characters for type and name .
*/
void destroyElement( [in] string ResourceURL );
/** request to make a user interface element visible if it is not in hidden state.
@ param ResourceURL
specifies which user interface element should be made visible . A resource URL must
meet the following syntax : " private : resource / $ type / $ name " . It is only allowed to use
ASCII characters for type and
name .
@ return
returns ` TRUE ` if the user interface element could be made visible , otherwise
` FALSE ` will be returned .
< p >
If a user interface element should forced to the visible state
XLayoutManager : : showElement ( ) should be used . This function can be
used for context dependent elements which should respect the current visibility
state .
< / p >
*/
boolean requestElement( [in] string ResourceURL );
/** retrieves a user interface element which has been created before.
@ param ResourceURL
specifies which user interface element should be retrieved . A resource URL must meet the following
syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
< p >
The layout manager instance is owner of the returned user interface element . That means that the life time of
the user interface element is controlled by the layout manager . It can be disposed at every time !
< / p >
*/
com::sun::star::ui::XUIElement getElement( [in] string ResourceURL );
/** retrieves all user interface elements which are currently instantiated.
@ return
a sequence of user interface elements providing com : : sun : : star : : ui : : XUIElement
interface .
< p >
The layout manager instance is owner of the returned user interface elements . That means that the life time of
the user interface elements is controlled by the layout manager . They can be disposed at every time !
< / p >
*/
sequence< com::sun::star::ui::XUIElement > getElements();
/** shows a user interface element.
@ param ResourceURL
specifies which user interface element should be shown . A resource URL must meet the following
syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ return
returns ` TRUE ` if the user interface element has been shown , otherwise ` FALSE ` will be returned .
*/
boolean showElement( [in] string ResourceURL );
/** hides a user interface element.
@ param ResourceURL
specifies which user interface element should be hidden . A resource URL must meet the following
syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ return
returns ` TRUE ` if the user interface element has been hidden , otherwise ` FALSE ` will be returned .
*/
boolean hideElement( [in] string ResourceURL );
/** docks a window based user interface element to a specified docking area.
@ param ResourceURL
specifies which user interface element should be docked . A resource URL must meet the following
syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ param DockingArea
specifies on which docking area the window based user interface element should docked .
@ param Pos
specifies the position inside the docking area .
@ return
returns ` TRUE ` if the user interface element has been docked , otherwise ` FALSE ` will be returned .
@ see com : : sun : : star : : ui : : DockingArea
*/
boolean dockWindow( [in] string ResourceURL, [in] com::sun::star::ui::DockingArea DockingArea, [in] com::sun::star::awt::Point Pos );
/** docks all windows which are member of the provided user interface element type.
@ param nElementType
specifies which user interface element type should be docked .
@ return
returns ` TRUE ` if all user interface elements of the requested type could be
docked , otherwise ` FALSE ` will be returned .
@ see com : : sun : : star : : ui : : UIElementType
*/
boolean dockAllWindows( [in] short nElementType );
/** forces a window based user interface element to float.
@ param ResourceURL
specifies which user interface element should be float . A resource URL must meet the following
syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ return
returns ` TRUE ` if the user interface element has been docked , otherwise ` FALSE ` will be returned .
*/
boolean floatWindow( [in] string ResourceURL );
/** locks a window based user interface element if it's in a docked state.
@ param ResourceURL
specifies which user interface element should be locked . A resource URL must meet the following
syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ return
returns ` TRUE ` if the user interface element has been locked , otherwise ` FALSE ` will be returned .
*/
boolean lockWindow( [in] string ResourceURL );
/** unlocks a window based user interface element if it's in a docked state.
@ param ResourceURL
specifies which user interface element should be unlocked . A resource URL must
meet the following syntax : " private : resource / $ type / $ name " . It is only allowed
to use ASCII characters for type and name .
@ return
returns ` TRUE ` if the user interface element has been unlocked , otherwise
` FALSE ` will be returned .
*/
boolean unlockWindow( [in] string ResourceURL );
/** sets a new size for a window based user interface element.
@ param ResourceURL
specifies which user interface element should be resized . A resource URL must meet the following
syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ param Size
specifies the new size in pixel .
< p >
It is up to the layout manager to decide if the user interface element can be resized . The new size can be retrieved
by calling getElementSize ( ) .
< / p >
*/
void setElementSize( [in] string ResourceURL, [in] com::sun::star::awt::Size Size );
/** sets a new position for a window based user interface element.
@ param ResourceURL
specifies which user interface element should be moved . A resource URL must meet the following
syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ param Pos
specifies the new position in pixel .
< p >
It is up to the layout manager to decide if the user interface element can be moved . The new position can be retrieved
by calling getElementPos ( ) .
< / p >
*/
void setElementPos( [in] string ResourceURL, [in] com::sun::star::awt::Point Pos );
/** sets a new position and size for a window based user interface element.
@ param ResourceURL
specifies which user interface element should be moved and resized . A resource URL must meet the following
syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ param Pos
specifies the new position in pixel .
@ param Size
specifies the new position in pixel .
< p >
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
be retrieved by calling getElementPos ( ) and getElementSize ( ) .
< / p >
*/
void setElementPosSize( [in] string ResourceURL, [in] com::sun::star::awt::Point Pos, [in] com::sun::star::awt::Size Size );
/** retrieves the current visibility state of a window based user interface element.
@ param ResourceURL
specifies for which user interface element the visibility state should be retrieved . A resource URL must meet
the following syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ return
` TRUE ` if the user interface element is visible , otherwise ` FALSE ` .
*/
boolean isElementVisible( [in] string ResourceURL );
/** retrieves the current floating state of a window based user interface element.
@ param ResourceURL
specifies for which user interface element the floating state should be retrieved . A resource URL must meet
the following syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ return
` TRUE ` if the user interface element is floating , otherwise ` FALSE ` .
*/
boolean isElementFloating( [in] string ResourceURL );
/** retrieves the current docking state of a window based user interface element.
@ param ResourceURL
specifies for which user interface element the docking state should be retrieved . A resource URL must meet
the following syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ return
` TRUE ` if the user interface element is docked , otherwise ` FALSE ` .
*/
boolean isElementDocked( [in] string ResourceURL );
/** retrieves the current lock state of a window based user interface element.
@ param ResourceURL
specifies for which user interface element the lock state should be retrieved . A resource URL must meet
the following syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ return
` TRUE ` if the user interface element is locked , otherwise ` FALSE ` .
*/
boolean isElementLocked( [in] string ResourceURL );
/** retrieves the current size of a window based user interface element.
@ param ResourceURL
specifies for which user interface element the current size should be retrieved . A resource URL must meet
the following syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ return
the size in pixel of the user interface element . A non - window based user interface element provides a zero size .
*/
com::sun::star::awt::Size getElementSize( [in] string ResourceURL );
/** retrieves the current pixel position of a window based user interface element.
@ param ResourceURL
specifies for which user interface element the current position should be retrieved . A resource URL must meet
the following syntax : " private : resource / $ type / $ name " . It is only allowed to use ASCII characters for type and
name .
@ return
the size in pixel of the user interface element . A non - window based user interface element provides a zero size .
*/
com::sun::star::awt::Point getElementPos( [in] string ResourceURL );
/** prohibit all layout updates until unlock is called again.
< p >
This call can be used to speed up the creation process of several user interface elements . Otherwise the layout manager
would calculate the layout for every creation .
< / p >
*/
void lock();
/** permit layout updates again.
< p >
This function should be called to permit layout updates . The layout manager starts to calculate the new layout after
this call .
< / p >
*/
void unlock();
/** forces a complete new layouting of all user interface elements.
*/
void doLayout();
/** sets the layout manager to invisible state and hides all user interface elements.
< p >
A layout manager can be set to invisible state to force it to hide all of its
user interface elements . If another component wants to use the window for its
own user interface elements it can use this function . This function is normally
used to implement inplace editing .
< / p >
@ param Visible
provide ` FALSE ` to make layout manager invisible otherwise this must be
set to ` TRUE ` .
*/
void setVisible( [in] boolean Visible );
/** retrieves the visibility state of a layout manager.
< p >
A layout manager can be set to invisible state to force it to hide all of its
user interface elements . If another component wants to use the window for its
own user interface elements it can use this function . This function is normally
used to implement inplace editing .
< / p >
*/
boolean isVisible();
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=93 H=100 G=96
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-10-05)
¤
*© Formatika GbR, Deutschland