blob: f5fda6cae840ee2c5e4f160e8e7b359edb7dea8b [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_frame_XPopupMenuController_idl__
#define __com_sun_star_frame_XPopupMenuController_idl__
#ifndef __com_sun_star_awt_XPopupMenu_idl__
#include <com/sun/star/awt/XPopupMenu.idl>
#endif
//=============================================================================
module com { module sun { module star { module frame {
//=============================================================================
/** provides data to a popup menu controller implementation to
fill and update a popup menu dynamically.
<p>
A popup menu controller gets a <type scope="com::sun::star::awt">XPopupMenu</type>
from its parent menu implementation. The controller has to fill this popup
menu with a set of menu items and/or sub menus. The parent menu implementation
briefs the controller whenever the popup menu gets activated by a user.
</p>
@since OpenOffice 2.0
*/
interface XPopupMenuController : com::sun::star::uno::XInterface
{
/** provides a <type scope="com::sun::star::awt">XPopupMenu</type> to a
popup menu controller implementation. The controller must fill this
popup menu with its functions.
@param PopupMenu
An empty popup menu that must be filled by the popup menu controller.
*/
void setPopupMenu( [in] com::sun::star::awt::XPopupMenu PopupMenu );
/** briefs the popup menu controller to update the contents of the provided
popup menu to reflect the current state.
<p>A controller should <b>never</b> update the popup menu structure on its
own to prevent performance problems. A better way would be that a controller
registers itself as status listener to for a command URL and immediately
deregister after that. Therefor status updates will not be send regularly
for a non visible popup menu.
</p>
*/
void updatePopupMenu();
};
}; }; }; };
//=============================================================================
#endif