diff options
Diffstat (limited to 'offapi/com/sun/star/awt/XPopupMenu.idl')
-rw-r--r-- | offapi/com/sun/star/awt/XPopupMenu.idl | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/offapi/com/sun/star/awt/XPopupMenu.idl b/offapi/com/sun/star/awt/XPopupMenu.idl new file mode 100644 index 000000000..3a2018ddb --- /dev/null +++ b/offapi/com/sun/star/awt/XPopupMenu.idl @@ -0,0 +1,184 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_awt_XPopupMenu_idl__ +#define __com_sun_star_awt_XPopupMenu_idl__ + +#include <com/sun/star/awt/KeyEvent.idl> +#include <com/sun/star/awt/Rectangle.idl> +#include <com/sun/star/awt/XMenu.idl> +#include <com/sun/star/graphic/XGraphic.idl> + +module com { module sun { module star { module awt { + +published interface XWindowPeer; + +/** controls a pop-up menu. + */ +published interface XPopupMenu: XMenu +{ + /** inserts a separator at the specified position. + + @param nItemPos + specifies the position where the menu separator will be inserted. + */ + void insertSeparator( [in] short nItemPos ); + + /** sets the menu default item. + + @param nItemId + specifies the menu item identifier. + */ + void setDefaultItem( [in] short nItemId ); + + /** returns the menu default item. + + @return + the ID of the default item. + */ + short getDefaultItem(); + + /** sets the state of the item to be checked or unchecked. + + @param nItemId + specifies the menu item identifier. + + @param bCheck + specifies if the item is checked (`TRUE`) or unchecked (`FALSE`). + */ + void checkItem( [in] short nItemId, + [in] boolean bCheck ); + + /** returns whether the item is checked or unchecked. + + @param nItemId + specifies the menu item identifier. + + @return + `TRUE` if the item is checked, `FALSE` otherwise. + */ + boolean isItemChecked( [in] short nItemId ); + + /** executes the popup menu and returns the selected item + or <code>0</code>, if cancelled. + + @param Parent + the parent window. + + @param Position + a Rectangle representing the coordinates system + where the popup menu should be executed. + + @param Direction + the direction in which a popup menu will grow, as specified + by one of the PopupMenuDirection constants. + + @return + returns the selected item or <code>0</code>, if cancelled. + */ + short execute( [in] XWindowPeer Parent, + [in] Rectangle Position, + [in] short Direction ); + + /** queries if the PopupMenu is being. + + <p>Returns `TRUE` only if the PopupMenu is being executed + as a result of invoking XPopupMenu::execute(); that is, + for a PopupMenu activated by a MenuBar item, + this methods returns `FALSE`.</p> + + @return + `TRUE` if the PopupMenu is being executed, + `FALSE` otherwise. + + @see XPopupMenu::execute() + */ + boolean isInExecute(); + + /** ends the execution of the PopupMenu. + <p>com::sun::star::awt::XPopupMenu::execute() + will then return 0.</p> + + @see com::sun::star::awt::XPopupMenu::execute() + */ + void endExecute(); + + /** sets the KeyEvent for the menu item. + + <p>The KeyEvent is <b>only</b> used as a container to transport + the shortcut information, this methods only draws the text corresponding to + this keyboard shortcut. The client code is responsible for listening to + keyboard events (typically done via XUserInputInterception), + and dispatch the respective command.</p> + + @param nItemId + specifies the menu item identifier for which the KeyEvent should be set. + + @param aKeyEvent + specifies the KeyEvent for the menu item. + */ + void setAcceleratorKeyEvent( [in] short nItemId, + [in] KeyEvent aKeyEvent ); + + /** retrieves the KeyEvent for the menu item. + + <p>The KeyEvent is <b>only</b> used as a container to transport + the shortcut information, so that in this case + ::com::sun::star::lang::EventObject::Source is NULL.</p> + + @param nItemId + specifies the menu item identifier for which the KeyEvent should be retrieved. + + @return + the KeyEvent struct assigned to the requested menu item. + */ + KeyEvent getAcceleratorKeyEvent( [in] short nItemId ); + + /** sets the image for the menu item. + + @param nItemId + specifies the menu item identifier for which the image should be set. + + @param xGraphic + specifies the image for the menu item. + + @param bScale + if `TRUE`, the image will be scaled to the standard size used internally by + the implementation. + */ + void setItemImage( [in] short nItemId, + [in] ::com::sun::star::graphic::XGraphic xGraphic, + [in] boolean bScale ); + + /** retrieves the image for the menu item. + + @param nItemId + specifies the menu item identifier for which the image should be retrieved. + + @return + a XGraphic reference to the current image for the requested menu item. + */ + ::com::sun::star::graphic::XGraphic getItemImage( [in] short nItemId ); + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |