1dccf82beSAriel Constenla-Haile/**************************************************************
2dccf82beSAriel Constenla-Haile *
3dccf82beSAriel Constenla-Haile * Licensed to the Apache Software Foundation (ASF) under one
4dccf82beSAriel Constenla-Haile * or more contributor license agreements.  See the NOTICE file
5dccf82beSAriel Constenla-Haile * distributed with this work for additional information
6dccf82beSAriel Constenla-Haile * regarding copyright ownership.  The ASF licenses this file
7dccf82beSAriel Constenla-Haile * to you under the Apache License, Version 2.0 (the
8dccf82beSAriel Constenla-Haile * "License"); you may not use this file except in compliance
9dccf82beSAriel Constenla-Haile * with the License.  You may obtain a copy of the License at
10dccf82beSAriel Constenla-Haile *
11dccf82beSAriel Constenla-Haile *   http://www.apache.org/licenses/LICENSE-2.0
12dccf82beSAriel Constenla-Haile *
13dccf82beSAriel Constenla-Haile * Unless required by applicable law or agreed to in writing,
14dccf82beSAriel Constenla-Haile * software distributed under the License is distributed on an
15dccf82beSAriel Constenla-Haile * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16dccf82beSAriel Constenla-Haile * KIND, either express or implied.  See the License for the
17dccf82beSAriel Constenla-Haile * specific language governing permissions and limitations
18dccf82beSAriel Constenla-Haile * under the License.
19dccf82beSAriel Constenla-Haile *
20dccf82beSAriel Constenla-Haile *************************************************************/
21dccf82beSAriel Constenla-Haile
22dccf82beSAriel Constenla-Haile#ifndef __com_sun_star_frame_XUIControllerFactory_idl__
23dccf82beSAriel Constenla-Haile#define __com_sun_star_frame_XUIControllerFactory_idl__
24dccf82beSAriel Constenla-Haile
25dccf82beSAriel Constenla-Haile#include <com/sun/star/lang/XMultiComponentFactory.idl>
26dccf82beSAriel Constenla-Haile#include <com/sun/star/frame/XUIControllerRegistration.idl>
27dccf82beSAriel Constenla-Haile
28dccf82beSAriel Constenla-Hailemodule com { module sun { module star { module frame {
29dccf82beSAriel Constenla-Haile
30dccf82beSAriel Constenla-Haile/** a factory to create User Interface controllers.
31dccf82beSAriel Constenla-Haile
32dccf82beSAriel Constenla-Haile    <p>
33dccf82beSAriel Constenla-Haile    A user interface controller can be registered for a command URL. A certain user
34dccf82beSAriel Constenla-Haile    interface controller will be created when a user interface element contains a
35dccf82beSAriel Constenla-Haile    registered command URL.
36dccf82beSAriel Constenla-Haile
37dccf82beSAriel Constenla-Haile    @see PopupMenuControllerFactory
38dccf82beSAriel Constenla-Haile    @see StatusbarControllerFactory
39dccf82beSAriel Constenla-Haile    @see ToolbarControllerFactory
40dccf82beSAriel Constenla-Haile    </p>
41dccf82beSAriel Constenla-Haile
42*c4dc0a1aSJürgen Schmidt    @since OpenOffice 4.0
43dccf82beSAriel Constenla-Haile */
44dccf82beSAriel Constenla-Haileinterface XUIControllerFactory
45dccf82beSAriel Constenla-Haile{
46dccf82beSAriel Constenla-Haile    /** this interface provides functions to create new instances of a registered UI controller.
47dccf82beSAriel Constenla-Haile
48dccf82beSAriel Constenla-Haile        <p>
49dccf82beSAriel Constenla-Haile        Use <member scope="com::sun::star::lang">XMultiComponentFactory::createInstanceWithArgumentsAndContext()</member> to create
50dccf82beSAriel Constenla-Haile        a new UI controller instance. Use the CommandURL as the service specifier.
51dccf82beSAriel Constenla-Haile
52dccf82beSAriel Constenla-Haile        This call supports the following arguments provided as <type scope="com::sun::star::beans">PropertyValue</type>:
53dccf82beSAriel Constenla-Haile        <ul>
54dccf82beSAriel Constenla-Haile            <li>
55dccf82beSAriel Constenla-Haile                <b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type>
56dccf82beSAriel Constenla-Haile                instance to which the UI controller belongs to. This property must be provided to
57dccf82beSAriel Constenla-Haile                the UI controller, otherwise it cannot dispatch its internal commands.
58dccf82beSAriel Constenla-Haile             </li>
59dccf82beSAriel Constenla-Haile            <li>
60dccf82beSAriel Constenla-Haile                <b>ModuleIdentifier</b><br>optional string that specifies in which module context the UI
61dccf82beSAriel Constenla-Haile                controller should be created.</br>The module identifier can be retrieved using the
62dccf82beSAriel Constenla-Haile                <type>ModuleManager</type>.
63dccf82beSAriel Constenla-Haile            </li>
64dccf82beSAriel Constenla-Haile        </ul>
65dccf82beSAriel Constenla-Haile        </p>
66dccf82beSAriel Constenla-Haile     */
67dccf82beSAriel Constenla-Haile    interface com::sun::star::lang::XMultiComponentFactory;
68dccf82beSAriel Constenla-Haile
69dccf82beSAriel Constenla-Haile    /** provides functions to query for, register and deregister a popup menu controller.
70dccf82beSAriel Constenla-Haile     */
71dccf82beSAriel Constenla-Haile    interface XUIControllerRegistration;
72dccf82beSAriel Constenla-Haile};
73dccf82beSAriel Constenla-Haile
74dccf82beSAriel Constenla-Haile}; }; }; };
75dccf82beSAriel Constenla-Haile
76dccf82beSAriel Constenla-Haile#endif
77