1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 #ifndef __com_sun_star_frame_PopupMenuController_idl__
29 #define __com_sun_star_frame_PopupMenuController_idl__
31 #ifndef __com_sun_star_frame_XPopupMenuController_idl__
32 #include
<com
/sun
/star
/frame
/XPopupMenuController.idl
>
35 #ifndef _com_sun_star_lang_XInitialization_idl__
36 #include
<com
/sun
/star
/lang
/XInitialization.idl
>
39 #ifndef __com_sun_star_frame_XStatusListener_idl__
40 #include
<com
/sun
/star
/frame
/XStatusListener.idl
>
43 #ifndef __com_sun_star_frame_XDispatchProvider_idl__
44 #include
<com
/sun
/star
/frame
/XDispatchProvider.idl
>
47 #ifndef __com_sun_star_lang_XComponent_idl__
48 #include
<com
/sun
/star
/lang
/XComponent.idl
>
52 //=============================================================================
54 module com
{ module sun
{ module star
{ module frame
{
56 //=============================================================================
58 /** provides access to a popup menu controller.
61 A popup menu controller is used to make special functions available to
62 users, which depend on runtime or context specific conditions.<br/>
63 A typical example for a popup menu controller can be a recent file list
64 implementation which provides a list of latest files that a user has
65 worked on. This list gets changes consistently during a work session.
71 service PopupMenuController
73 //-------------------------------------------------------------------------
74 /** supports functions to initialize and update a popup menu controller
78 A popup menu controller implementation gets initialized with a
79 <type scope="com::sun::star::awt">XPopupMenu</type> object. This assures
80 that a popup menu controller can be implemented with any UNO based
84 interface com
::sun
::star
::frame
::XPopupMenuController
;
86 //-------------------------------------------------------------------------
87 /** provides functions to initialize a popup menu controller with
88 specific data which are needed.
91 This interface should not directly used. A factory service is responsible to
92 initialize every controller correctly.<br/>
94 A popup menu controller needs at least two additional arguments
95 provided as <type scope="com::sun::star::beans">PropertyValue</type>:
97 <li><b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type>
98 instance to which the popup menu controller belongs to.</li>
99 <li><b>CommandURL</b><br>specifies which popup menu controller should be created.</li>
103 @see PopupMenuControllerFactory
105 interface com
::sun
::star
::lang
::XInitialization
;
107 //-------------------------------------------------------------------------
108 /** used to brief the popup menu controller with new status information.
111 A popup menu controller makes special functions available to users which
112 normally depend on the state of other data. This interface is used to
113 send this data to a controller implementation.
116 interface com
::sun
::star
::frame
::XStatusListener
;
118 //-------------------------------------------------------------------------
119 /** used to query for commands supported by the popup menu controller to
120 execute them directly.
123 A popup menu controller provides special functions which should be
124 available by the normal dispatch API. This optional interface enables
125 popup menu controller to be normal dispatch providers.<br/>
126 <b>Attention:</b><br/>
127 Popup menu controller functions must be specified using the following
128 the dispatch URL scheme: "vnd.sun.star.popup:" opaque_part [ "?" query ].
133 [optional] interface com
::sun
::star
::frame
::XDispatchProvider
;
135 //-------------------------------------------------------------------------
136 /** used to dispose popup menu controller by the owner instance.
139 A popup menu controller resides in a menu which has a limited
140 life-time. For correct life-time handling a popup menu
141 controller should support this interface.
146 [optional] interface com
::sun
::star
::lang
::XComponent
;
151 //=============================================================================