blob: a1fc07787373e29281229c48159745da652d00fd [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_frame_XUIControllerFactory_idl__
#define __com_sun_star_frame_XUIControllerFactory_idl__
#include <com/sun/star/lang/XMultiComponentFactory.idl>
#include <com/sun/star/frame/XUIControllerRegistration.idl>
module com { module sun { module star { module frame {
/** a factory to create User Interface controllers.
<p>
A user interface controller can be registered for a command URL. A certain user
interface controller will be created when a user interface element contains a
registered command URL.
@see PopupMenuControllerFactory
@see StatusbarControllerFactory
@see ToolbarControllerFactory
</p>
@since OpenOffice 4.0
*/
interface XUIControllerFactory
{
/** this interface provides functions to create new instances of a registered UI controller.
<p>
Use <member scope="com::sun::star::lang">XMultiComponentFactory::createInstanceWithArgumentsAndContext()</member> to create
a new UI controller instance. Use the CommandURL as the service specifier.
This call supports the following arguments provided as <type scope="com::sun::star::beans">PropertyValue</type>:
<ul>
<li>
<b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type>
instance to which the UI controller belongs to. This property must be provided to
the UI controller, otherwise it cannot dispatch its internal commands.
</li>
<li>
<b>ModuleIdentifier</b><br>optional string that specifies in which module context the UI
controller should be created.</br>The module identifier can be retrieved using the
<type>ModuleManager</type>.
</li>
</ul>
</p>
*/
interface com::sun::star::lang::XMultiComponentFactory;
/** provides functions to query for, register and deregister a popup menu controller.
*/
interface XUIControllerRegistration;
};
}; }; }; };
#endif