blob: 21b8b043086fe9712cfd32d280ba55c20b718528 [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_awt_XPopupMenuExtended_idl__
#define __com_sun_star_awt_XPopupMenuExtended_idl__
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_awt_XPopupMenu_idl__
#include <com/sun/star/awt/XPopupMenu.idl>
#endif
#ifndef __com_sun_star_awt_XMenuExtended2_idl__
#include <com/sun/star/awt/XMenuExtended2.idl>
#endif
#ifndef __com_sun_star_awt_MenuLogo_idl__
#include <com/sun/star/awt/MenuLogo.idl>
#endif
#ifndef __com_sun_star_container_NoSuchElementException_idl__
#include <com/sun/star/container/NoSuchElementException.idl>
#endif
#ifndef __com_sun_star_awt_KeyEvent_idl__
#include <com/sun/star/awt/KeyEvent.idl>
#endif
#ifndef com_sun_star_graphic_XGraphic_idl
#include <com/sun/star/graphic/XGraphic.idl>
#endif
//=============================================================================
module com { module sun { module star { module awt {
/** specifies extended functions for a <type scope="com::sun::star::awt">PopupMenu</type>.
@since OOo 3.1
*/
published interface XPopupMenuExtended
{
/** specifies basic functions for a popup menu.
*/
interface ::com::sun::star::awt::XPopupMenu;
/** specifies extended menu functions, available for both
<type scope="com::sun::star::awt">MenuBar</type> and
<type scope="com::sun::star::awt">PopupMenu</type>.
*/
interface ::com::sun::star::awt::XMenuExtended2;
//=========================================================================
/** queries if the <type scope="com::sun::star::awt">PopupMenu</type>
is being executed as a result of invoking
<member scope="com::sun::star::awt">XPopupMenu::execute()</member>; that is,
for a <type>PopupMenu</type> activated by a <type>MenuBar</type> item,
this methods returns <FALSE/>.
@return
<TRUE/> if the <type scope="com::sun::star::awt">PopupMenu</type>
is being executed, <FALSE/> otherwise.
@see <member scope="com::sun::star::awt">XPopupMenu::execute()</member>
@since OOo 3.1
*/
boolean isInExecute();
/** ends the execution of the <type scope="com::sun::star::awt">PopupMenu</type>.
<member scope="com::sun::star::awt">XPopupMenu::execute()</member> will then return 0.
@see <member scope="com::sun::star::awt">XPopupMenu::execute()</member>
@since OOo 3.1
*/
void endExecute();
//=============================================================================
/** sets the <type>MenuLogo</type> for this <type>PopupMenu</type>.
@param aMenuLogo
the <type>MenuLogo</type>.
@since OOo 3.1
*/
void setLogo( [in] ::com::sun::star::awt::MenuLogo aMenuLogo );
/** retrieves the <type>MenuLogo</type> for this <type>PopupMenu</type>.
@return
the <type>MenuLogo</type>.
@since OOo 3.1
*/
::com::sun::star::awt::MenuLogo getLogo();
//=========================================================================
/** specifies whether mnemonics are automatically assigned to menu items, or not.
@param bEnable
if <TRUE/>, mnemonics are automatically assigned to menu items.
*/
void enableAutoMnemonics( [in] boolean bEnable );
//=========================================================================
/** sets the <type>KeyEvent</type> for the menu item.
<p>The <type>KeyEvent</type> 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 (typicaly done via <type>XUserInputInterception</type>),
and dispatch the respective command.</p>
@param nItemId
specifies the menu item identifier for which the <type>KeyEvent</type> should be set.
@param aKeyEvent
specifies the <type>KeyEvent</type> for the menu item.
@throws <type scope="com::sun::star::container">NoSuchElementException</type>
if there is no menu item with the identifier specified in <var>nItemId</var>.
@since OOo 3.1
*/
void setAcceleratorKeyEvent( [in] short nItemId, [in] ::com::sun::star::awt::KeyEvent aKeyEvent )
raises ( ::com::sun::star::container::NoSuchElementException );
/** retrieves the <type>KeyEvent</type> for the menu item.
<p>The <type>KeyEvent</type> is <b>only</b> used as a container to transport
the shortcut information, so that in this case
<member scope="::com::sun::star::lang::">EventObject::Source</member> is <NULL/>.</p>
@param nItemId
specifies the menu item identifier for which the <type>KeyEvent</type> should be retrieved.
@return
the <type>KeyEvent</type> struct assigned to the requested menu item.
@throws <type scope="com::sun::star::container">NoSuchElementException</type>
if there is no menu item with the identifier specified in <var>nItemId</var>.
@since OOo 3.1
*/
::com::sun::star::awt::KeyEvent getAcceleratorKeyEvent( [in] short nItemId )
raises ( ::com::sun::star::container::NoSuchElementException );
//=============================================================================
/** sets the help text for the menu item.
@param nItemId
specifies the menu item identifier for which the help text should be set.
@param sHelpText
specifies the help text for the menu item.
@throws <type scope="com::sun::star::container">NoSuchElementException</type>
if there is no menu item with the identifier specified in <var>nItemId</var>.
@since OOo 3.1
*/
void setHelpText( [in] short nItemId, [in] string sHelpText )
raises ( ::com::sun::star::container::NoSuchElementException );
/** retrieves the help text for the menu item.
@param nItemId
specifies the menu item identifier for which the help text should be retrieved.
@return
a string with the help text.
@throws <type scope="com::sun::star::container">NoSuchElementException</type>
if there is no menu item with the identifier specified in <var>nItemId</var>.
@since OOo 3.1
*/
string getHelpText( [in] short nItemId )
raises ( ::com::sun::star::container::NoSuchElementException );
//=============================================================================
/** sets the tip help text for the menu item.
@param nItemId
specifies the menu item identifier for which the tip help text should be set.
@param sTipHelpText
specifies the tip help text for the menu item.
@throws <type scope="com::sun::star::container">NoSuchElementException</type>
if there is no menu item with the identifier specified in <var>nItemId</var>.
@since OOo 3.1
*/
void setTipHelpText( [in] short nItemId, [in] string sTipHelpText )
raises ( ::com::sun::star::container::NoSuchElementException );
/** retrieves the tip help text for the menu item.
@param nItemId
specifies the menu item identifier for which the tip help text should be retrieved.
@return
a string with the tip help text.
@throws <type scope="com::sun::star::container">NoSuchElementException</type>
if there is no menu item with the identifier specified in <var>nItemId</var>.
@since OOo 3.1
*/
string getTipHelpText( [in] short nItemId )
raises ( ::com::sun::star::container::NoSuchElementException );
//=============================================================================
/** 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.
@throws <type scope="com::sun::star::container">NoSuchElementException</type>
if there is no menu item with the identifier specified in <var>nItemId</var>.
@since OOo 3.1
*/
void setItemImage( [in] short nItemId,
[in] ::com::sun::star::graphic::XGraphic xGraphic,
[in] boolean bScale )
raises ( ::com::sun::star::container::NoSuchElementException );
/** retrieves the image for the menu item.
@param nItemId
specifies the menu item identifier for which the image should be retrieved.
@return
a <type scope="::com::sun::star::graphic::">XGraphic</type> reference
to the current image for the requested menu item.
@throws <type scope="com::sun::star::container">NoSuchElementException</type>
if there is no menu item with the identifier specified in <var>nItemId</var>.
@since OOo 3.1
*/
::com::sun::star::graphic::XGraphic getItemImage( [in] short nItemId )
raises ( ::com::sun::star::container::NoSuchElementException );
//.............................................................................
/** sets the rotation angle of a menu item image.
@param nItemId
specifies the menu item identifier for which the image angle should be set.
@param nAngle
specifies the rotation angle for the menu item image.
@throws <type scope="com::sun::star::container">NoSuchElementException</type>
if there is no menu item with the identifier specified in <var>nItemId</var>.
@since OOo 3.1
*/
void setItemImageAngle( [in] short nItemId, [in] long nAngle )
raises ( ::com::sun::star::container::NoSuchElementException );
/** retrieves the rotation angle of a menu item image.
@param nItemId
specifies the menu item identifier for which the rotation angle should be retrieved.
@return the rotation angle of the menu item image, or 0 if it has no rotation.
@throws <type scope="com::sun::star::container">NoSuchElementException</type>
if there is no menu item with the identifier specified in <var>nItemId</var>.
@since OOo 3.1
*/
long getItemImageAngle( [in] short nItemId )
raises ( ::com::sun::star::container::NoSuchElementException );
//.............................................................................
/** sets the mirror mode of a menu item image.
@param nItemId
specifies the menu item identifier for which the mirror mode should be set.
@param bMirror
if <TRUE/>, the item image is mirrored.
@throws <type scope="com::sun::star::container">NoSuchElementException</type>
if there is no menu item with the identifier specified in <var>nItemId</var>.
@since OOo 3.1
*/
void setItemImageMirrorMode( [in] short nItemId, [in] boolean bMirror )
raises ( ::com::sun::star::container::NoSuchElementException );
/** indicates whether the menu item image is mirrored.
@param nItemId
specifies the menu item identifier for which the image mirror mode should be checked.
@return <TRUE/> if the item image is mirrored, <FALSE/> otherwise.
@throws <type scope="com::sun::star::container">NoSuchElementException</type>
if there is no menu item with the identifier specified in <var>nItemId</var>.
@since OOo 3.1
*/
boolean isItemImageInMirrorMode( [in] short nItemId )
raises ( ::com::sun::star::container::NoSuchElementException );
};
}; }; }; };
#endif