merged tag ooo/OOO330_m14
[LibreOffice.git] / offapi / com / sun / star / frame / XPopupMenuController.idl
blobffc7db109f4a63bd5e3cb9ee50b8a2829d78aea7
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_XPopupMenuController_idl__
29 #define __com_sun_star_frame_XPopupMenuController_idl__
31 #ifndef __com_sun_star_awt_XPopupMenu_idl__
32 #include <com/sun/star/awt/XPopupMenu.idl>
33 #endif
35 //=============================================================================
37 module com { module sun { module star { module frame {
39 //=============================================================================
41 /** provides data to a popup menu controller implementation to
42 fill and update a popup menu dynamically.
44 <p>
45 A popup menu controller gets a <type scope="com::sun::star::awt">XPopupMenu</type>
46 from its parent menu implementation. The controller has to fill this popup
47 menu with a set of menu items and/or sub menus. The parent menu implementation
48 briefs the controller whenever the popup menu gets activated by a user.
49 </p>
51 @since OOo 2.0.0
53 interface XPopupMenuController : com::sun::star::uno::XInterface
55 /** provides a <type scope="com::sun::star::awt">XPopupMenu</type> to a
56 popup menu controller implementation. The controller must fill this
57 popup menu with its functions.
59 @param PopupMenu
60 An empty popup menu that must be filled by the popup menu controller.
62 void setPopupMenu( [in] com::sun::star::awt::XPopupMenu PopupMenu );
64 /** briefs the popup menu controller to update the contents of the provided
65 popup menu to reflect the current state.
67 <p>A controller should <b>never</b> update the popup menu structure on its
68 own to prevent performance problems. A better way would be that a controller
69 registers itself as status listener to for a command URL and immediately
70 deregister after that. Therefor status updates will not be send regularly
71 for a non visible popup menu.
72 </p>
74 void updatePopupMenu();
77 }; }; }; };
79 //=============================================================================
81 #endif