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