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 23 24#ifndef __com_sun_star_frame_PopupMenuController_idl__ 25#define __com_sun_star_frame_PopupMenuController_idl__ 26 27#ifndef __com_sun_star_frame_XPopupMenuController_idl__ 28#include <com/sun/star/frame/XPopupMenuController.idl> 29#endif 30 31#ifndef _com_sun_star_lang_XInitialization_idl__ 32#include <com/sun/star/lang/XInitialization.idl> 33#endif 34 35#ifndef __com_sun_star_frame_XStatusListener_idl__ 36#include <com/sun/star/frame/XStatusListener.idl> 37#endif 38 39#ifndef __com_sun_star_frame_XDispatchProvider_idl__ 40#include <com/sun/star/frame/XDispatchProvider.idl> 41#endif 42 43#ifndef __com_sun_star_lang_XComponent_idl__ 44#include <com/sun/star/lang/XComponent.idl> 45#endif 46 47 48//============================================================================= 49 50module com { module sun { module star { module frame { 51 52//============================================================================= 53 54/** provides access to a popup menu controller. 55 56 <p> 57 A popup menu controller is used to make special functions available to 58 users, which depend on runtime or context specific conditions.<br/> 59 A typical example for a popup menu controller can be a recent file list 60 implementation which provides a list of latest files that a user has 61 worked on. This list gets changes consistently during a work session. 62 </p> 63 64 @since OpenOffice 2.0 65*/ 66 67service PopupMenuController 68{ 69 //------------------------------------------------------------------------- 70 /** supports functions to initialize and update a popup menu controller 71 implementation. 72 73 <p> 74 A popup menu controller implementation gets initialized with a 75 <type scope="com::sun::star::awt">XPopupMenu</type> object. This assures 76 that a popup menu controller can be implemented with any UNO based 77 language. 78 </p> 79 */ 80 interface com::sun::star::frame::XPopupMenuController; 81 82 //------------------------------------------------------------------------- 83 /** provides functions to initialize a popup menu controller with 84 specific data which are needed. 85 86 <p> 87 This interface should not directly used. A factory service is responsible to 88 initialize every controller correctly.<br/> 89 90 A popup menu controller needs at least two additional arguments 91 provided as <type scope="com::sun::star::beans">PropertyValue</type>: 92 <ul> 93 <li><b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type> 94 instance to which the popup menu controller belongs to.</li> 95 <li><b>CommandURL</b><br>specifies which popup menu controller should be created.</li> 96 </ul> 97 </p> 98 99 @see PopupMenuControllerFactory 100 */ 101 interface com::sun::star::lang::XInitialization; 102 103 //------------------------------------------------------------------------- 104 /** used to brief the popup menu controller with new status information. 105 106 <p> 107 A popup menu controller makes special functions available to users which 108 normally depend on the state of other data. This interface is used to 109 send this data to a controller implementation. 110 </p> 111 */ 112 interface com::sun::star::frame::XStatusListener; 113 114 //------------------------------------------------------------------------- 115 /** used to query for commands supported by the popup menu controller to 116 execute them directly. 117 118 <p> 119 A popup menu controller provides special functions which should be 120 available by the normal dispatch API. This optional interface enables 121 popup menu controller to be normal dispatch providers.<br/> 122 <b>Attention:</b><br/> 123 Popup menu controller functions must be specified using the following 124 the dispatch URL scheme: "vnd.sun.star.popup:" opaque_part [ "?" query ]. 125 </p> 126 127 @since OpenOffice 2.2 128 */ 129 [optional] interface com::sun::star::frame::XDispatchProvider; 130 131 //------------------------------------------------------------------------- 132 /** used to dispose popup menu controller by the owner instance. 133 134 <p> 135 A popup menu controller resides in a menu which has a limited 136 life-time. For correct life-time handling a popup menu 137 controller should support this interface. 138 </p> 139 140 @since OpenOffice 2.2 141 */ 142 [optional] interface com::sun::star::lang::XComponent; 143}; 144 145}; }; }; }; 146 147//============================================================================= 148 149#endif 150