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