5687eba49f
...which were used by ildc, which is gone since
a8485d558f
"[API CHANGE] Remove deprecated idlc
and regmerge from the SDK", and have always been ignored as legacy by its
unoidl-write replacement.
This change has been carried out (making use of GNU sed extensions) with
> for i in $(git ls-files \*.idl); do sed -i -z -E -e 's/\n\n((#[^\n]*\n)+\n)*(#[^\n]*\n)+\n?/\n\n/g' -e 's/\n(#[^\n]*\n)+/\n/g' "$i"; done && git checkout extensions/source/activex/so_activex.idl odk/examples/OLE/activex/so_activex.idl
which apparently happened to do the work. (The final two files are not UNOIDL
source files.)
Change-Id: Ic9369e05d46e8f7e8a304ab01740b171b92335cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135683
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
465 lines
19 KiB
Text
465 lines
19 KiB
Text
/* -*- 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: */
|