blob: 097de5e257a4c8051665aa513fa2723ed997c731 [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_ui_UIElementSettings_idl__
#define __com_sun_star_ui_UIElementSettings_idl__
#ifndef __com_sun_star_container_XIndexAccess_idl__
#include <com/sun/star/container/XIndexAccess.idl>
#endif
#ifndef __com_sun_star_lang_XSingleComponentFactory_idl__
#include <com/sun/star/lang/XSingleComponentFactory.idl>
#endif
//=============================================================================
module com { module sun { module star { module ui {
//=============================================================================
/**
describes the internal structure of a configurable user interface element.
<p>
No assumption is made about any graphical representation:
You could have a menu or a toolbar working with the same UIElementSettings
although limitations based on the real user interface element may be visible.
</p>
@since OpenOffice 2.0
*/
service UIElementSettings
{
/** provides access to the structure of the user interface element.
<p>
The container contains the items of the user interface element. Every
item is stored as a sequence of <type scope="com::sun::star::beans">PropertyValue</type>.
The properties insides the sequence are defined by the service <type scope="com::sun::star::ui">ItemDescriptor</type>.
It depends on the function which provides these service if the container is shareable read-only or exclusive writeable.
@see com::sun::star::ui::ItemDescriptor
@see com::sun::star::ui::ItemType
@see com::sun::star::ui::ItemStyle
</p>
*/
interface ::com::sun::star::container::XIndexAccess;
/** provides access to an optional factory interface to create sub container.
<p>
The factory should be used to create sub container within this user interface element settings. This interface is only
available if the container is exclusive writable.
</p>
*/
[optional] interface ::com::sun::star::lang::XSingleComponentFactory;
/** determine an optional user interface name of the user interface element.
<p>
A toolbar can show a its user interface name on the window title, when it is in floating mode.
</p>
*/
[optional, property] string UIName;
};
}; }; }; };
#endif