1d1766043SAndrew Rist/************************************************************** 2cdf0e10cSrcweir * 3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4d1766043SAndrew Rist * or more contributor license agreements. See the NOTICE file 5d1766043SAndrew Rist * distributed with this work for additional information 6d1766043SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the 8d1766043SAndrew Rist * "License"); you may not use this file except in compliance 9d1766043SAndrew Rist * with the License. You may obtain a copy of the License at 10d1766043SAndrew Rist * 11d1766043SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12d1766043SAndrew Rist * 13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing, 14d1766043SAndrew Rist * software distributed under the License is distributed on an 15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16d1766043SAndrew Rist * KIND, either express or implied. See the License for the 17d1766043SAndrew Rist * specific language governing permissions and limitations 18d1766043SAndrew Rist * under the License. 19d1766043SAndrew Rist * 20d1766043SAndrew Rist *************************************************************/ 21d1766043SAndrew Rist 22d1766043SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir#ifndef __com_sun_star_frame_PopupMenuController_idl__ 25cdf0e10cSrcweir#define __com_sun_star_frame_PopupMenuController_idl__ 26cdf0e10cSrcweir 27cdf0e10cSrcweir#ifndef __com_sun_star_frame_XPopupMenuController_idl__ 28cdf0e10cSrcweir#include <com/sun/star/frame/XPopupMenuController.idl> 29cdf0e10cSrcweir#endif 30cdf0e10cSrcweir 31cdf0e10cSrcweir#ifndef _com_sun_star_lang_XInitialization_idl__ 32cdf0e10cSrcweir#include <com/sun/star/lang/XInitialization.idl> 33cdf0e10cSrcweir#endif 34cdf0e10cSrcweir 35cdf0e10cSrcweir#ifndef __com_sun_star_frame_XStatusListener_idl__ 36cdf0e10cSrcweir#include <com/sun/star/frame/XStatusListener.idl> 37cdf0e10cSrcweir#endif 38cdf0e10cSrcweir 39cdf0e10cSrcweir#ifndef __com_sun_star_frame_XDispatchProvider_idl__ 40cdf0e10cSrcweir#include <com/sun/star/frame/XDispatchProvider.idl> 41cdf0e10cSrcweir#endif 42cdf0e10cSrcweir 43cdf0e10cSrcweir#ifndef __com_sun_star_lang_XComponent_idl__ 44cdf0e10cSrcweir#include <com/sun/star/lang/XComponent.idl> 45cdf0e10cSrcweir#endif 46cdf0e10cSrcweir 47cdf0e10cSrcweir 48cdf0e10cSrcweir//============================================================================= 49cdf0e10cSrcweir 50cdf0e10cSrcweirmodule com { module sun { module star { module frame { 51cdf0e10cSrcweir 52cdf0e10cSrcweir//============================================================================= 53cdf0e10cSrcweir 54cdf0e10cSrcweir/** provides access to a popup menu controller. 55cdf0e10cSrcweir 56cdf0e10cSrcweir <p> 57cdf0e10cSrcweir A popup menu controller is used to make special functions available to 58cdf0e10cSrcweir users, which depend on runtime or context specific conditions.<br/> 59cdf0e10cSrcweir A typical example for a popup menu controller can be a recent file list 60cdf0e10cSrcweir implementation which provides a list of latest files that a user has 61cdf0e10cSrcweir worked on. This list gets changes consistently during a work session. 62cdf0e10cSrcweir </p> 63cdf0e10cSrcweir 64*c4dc0a1aSJürgen Schmidt @since OpenOffice 2.0 65cdf0e10cSrcweir*/ 66cdf0e10cSrcweir 67cdf0e10cSrcweirservice PopupMenuController 68cdf0e10cSrcweir{ 69cdf0e10cSrcweir //------------------------------------------------------------------------- 70cdf0e10cSrcweir /** supports functions to initialize and update a popup menu controller 71cdf0e10cSrcweir implementation. 72cdf0e10cSrcweir 73cdf0e10cSrcweir <p> 74cdf0e10cSrcweir A popup menu controller implementation gets initialized with a 75cdf0e10cSrcweir <type scope="com::sun::star::awt">XPopupMenu</type> object. This assures 76cdf0e10cSrcweir that a popup menu controller can be implemented with any UNO based 77cdf0e10cSrcweir language. 78cdf0e10cSrcweir </p> 79cdf0e10cSrcweir */ 80cdf0e10cSrcweir interface com::sun::star::frame::XPopupMenuController; 81cdf0e10cSrcweir 82cdf0e10cSrcweir //------------------------------------------------------------------------- 83cdf0e10cSrcweir /** provides functions to initialize a popup menu controller with 84cdf0e10cSrcweir specific data which are needed. 85cdf0e10cSrcweir 86cdf0e10cSrcweir <p> 87cdf0e10cSrcweir This interface should not directly used. A factory service is responsible to 88cdf0e10cSrcweir initialize every controller correctly.<br/> 89cdf0e10cSrcweir 90cdf0e10cSrcweir A popup menu controller needs at least two additional arguments 91cdf0e10cSrcweir provided as <type scope="com::sun::star::beans">PropertyValue</type>: 92cdf0e10cSrcweir <ul> 93cdf0e10cSrcweir <li><b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type> 94cdf0e10cSrcweir instance to which the popup menu controller belongs to.</li> 95cdf0e10cSrcweir <li><b>CommandURL</b><br>specifies which popup menu controller should be created.</li> 96cdf0e10cSrcweir </ul> 97cdf0e10cSrcweir </p> 98cdf0e10cSrcweir 99cdf0e10cSrcweir @see PopupMenuControllerFactory 100cdf0e10cSrcweir */ 101cdf0e10cSrcweir interface com::sun::star::lang::XInitialization; 102cdf0e10cSrcweir 103cdf0e10cSrcweir //------------------------------------------------------------------------- 104cdf0e10cSrcweir /** used to brief the popup menu controller with new status information. 105cdf0e10cSrcweir 106cdf0e10cSrcweir <p> 107cdf0e10cSrcweir A popup menu controller makes special functions available to users which 108cdf0e10cSrcweir normally depend on the state of other data. This interface is used to 109cdf0e10cSrcweir send this data to a controller implementation. 110cdf0e10cSrcweir </p> 111cdf0e10cSrcweir */ 112cdf0e10cSrcweir interface com::sun::star::frame::XStatusListener; 113cdf0e10cSrcweir 114cdf0e10cSrcweir //------------------------------------------------------------------------- 115cdf0e10cSrcweir /** used to query for commands supported by the popup menu controller to 116cdf0e10cSrcweir execute them directly. 117cdf0e10cSrcweir 118cdf0e10cSrcweir <p> 119cdf0e10cSrcweir A popup menu controller provides special functions which should be 120cdf0e10cSrcweir available by the normal dispatch API. This optional interface enables 121cdf0e10cSrcweir popup menu controller to be normal dispatch providers.<br/> 122cdf0e10cSrcweir <b>Attention:</b><br/> 123cdf0e10cSrcweir Popup menu controller functions must be specified using the following 124cdf0e10cSrcweir the dispatch URL scheme: "vnd.sun.star.popup:" opaque_part [ "?" query ]. 125cdf0e10cSrcweir </p> 126cdf0e10cSrcweir 127*c4dc0a1aSJürgen Schmidt @since OpenOffice 2.2 128cdf0e10cSrcweir */ 129cdf0e10cSrcweir [optional] interface com::sun::star::frame::XDispatchProvider; 130cdf0e10cSrcweir 131cdf0e10cSrcweir //------------------------------------------------------------------------- 132cdf0e10cSrcweir /** used to dispose popup menu controller by the owner instance. 133cdf0e10cSrcweir 134cdf0e10cSrcweir <p> 135cdf0e10cSrcweir A popup menu controller resides in a menu which has a limited 136cdf0e10cSrcweir life-time. For correct life-time handling a popup menu 137cdf0e10cSrcweir controller should support this interface. 138cdf0e10cSrcweir </p> 139cdf0e10cSrcweir 140*c4dc0a1aSJürgen Schmidt @since OpenOffice 2.2 141cdf0e10cSrcweir */ 142cdf0e10cSrcweir [optional] interface com::sun::star::lang::XComponent; 143cdf0e10cSrcweir}; 144cdf0e10cSrcweir 145cdf0e10cSrcweir}; }; }; }; 146cdf0e10cSrcweir 147cdf0e10cSrcweir//============================================================================= 148cdf0e10cSrcweir 149cdf0e10cSrcweir#endif 150