1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
21 module com
{ module sun
{ module star
{ module frame
{
24 /** provides data to a pop-up menu controller implementation to
25 fill and update a pop-up menu dynamically.
28 A pop-up menu controller gets a com::sun::star::awt::XPopupMenu
29 from its parent menu implementation. The controller has to fill this pop-up
30 menu with a set of menu items and/or sub menus. The parent menu implementation
31 briefs the controller whenever the pop-up menu gets activated by a user.
36 interface XPopupMenuController
: com
::sun
::star
::uno
::XInterface
38 /** provides a com::sun::star::awt::XPopupMenu to a
39 pop-up menu controller implementation. The controller must fill this
40 pop-up menu with its functions.
43 An empty pop-up menu that must be filled by the pop-up menu controller.
45 void setPopupMenu
( [in] com
::sun
::star
::awt
::XPopupMenu PopupMenu
);
47 /** briefs the pop-up menu controller to update the contents of the provided
48 pop-up menu to reflect the current state.
50 <p>A controller should <b>never</b> update the pop-up menu structure on its
51 own to prevent performance problems. A better way would be that a controller
52 registers itself as status listener to for a command URL and immediately
53 deregister after that. Therefore status updates will not be send regularly
54 for a non visible pop-up menu.
57 void updatePopupMenu
();
63 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */