merged tag ooo/OOO330_m14
[LibreOffice.git] / offapi / com / sun / star / frame / PopupMenuController.idl
blob0d24f19e6cd51ccdfc9cf0d53627d9c33e92502e
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>
33 #endif
35 #ifndef _com_sun_star_lang_XInitialization_idl__
36 #include <com/sun/star/lang/XInitialization.idl>
37 #endif
39 #ifndef __com_sun_star_frame_XStatusListener_idl__
40 #include <com/sun/star/frame/XStatusListener.idl>
41 #endif
43 #ifndef __com_sun_star_frame_XDispatchProvider_idl__
44 #include <com/sun/star/frame/XDispatchProvider.idl>
45 #endif
47 #ifndef __com_sun_star_lang_XComponent_idl__
48 #include <com/sun/star/lang/XComponent.idl>
49 #endif
52 //=============================================================================
54 module com { module sun { module star { module frame {
56 //=============================================================================
58 /** provides access to a popup menu controller.
60 <p>
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.
66 </p>
68 @since OOo 2.0.0
71 service PopupMenuController
73 //-------------------------------------------------------------------------
74 /** supports functions to initialize and update a popup menu controller
75 implementation.
77 <p>
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
81 language.
82 </p>
84 interface com::sun::star::frame::XPopupMenuController;
86 //-------------------------------------------------------------------------
87 /** provides functions to initialize a popup menu controller with
88 specific data which are needed.
90 <p>
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>:
96 <ul>
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>
100 </ul>
101 </p>
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.
114 </p>
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 ].
129 </p>
131 @since OOo 2.2
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.
142 </p>
144 @since OOo 2.2
146 [optional] interface com::sun::star::lang::XComponent;
149 }; }; }; };
151 //=============================================================================
153 #endif