/**
* This is called when the parent menu is displayed. An arm listener is added to each menu item
* in the parent menu.
*
* @param menuEvent
* @param menuParentControl
* @param isAutoOpen
* @param autoOpenDelay
* @param menuPosition
* @param toolTip
*/
public void onShowParentMenu( final MenuEvent menuEvent,
final Control menuParentControl,
final boolean isAutoOpen,
final boolean isAnimationEnabled,
final int autoOpenDelay,
final Point menuPosition,
final ToolTip toolTip) {
_menuParentControl = menuParentControl;
_isAutoOpen = isAutoOpen;
_isAnimationEnabled = isAnimationEnabled;
_autoOpenDelay = autoOpenDelay;
_advMenuPosition = menuPosition;
_toolTip = toolTip;
final Menu menu = (Menu) menuEvent.widget;
// add arm listener to each menu item
for (final MenuItem menuItem : menu.getItems()) {
/*
* check if an arm listener is already set
*/
final Listener[] itemArmListeners = menuItem.getListeners(SWT.Arm);
boolean isArmAvailable = false;
for (final Listener listener : itemArmListeners) {
if (listener instanceof TypedListener) {
if (((TypedListener) listener).getEventListener() instanceof ContextArmListener) {
isArmAvailable = true;
break;
}
}
}
if (isArmAvailable == false) {
menuItem.addArmListener(_contextArmListener);
}
/*
* it happened that the text of the menu item was not reset when the menu was opened
* with a mouse click and not automatically
*/
if (_armMenuItem != null && _armMenuItem.isDisposed() == false && _armMenuItem == menuItem) {
_armMenuItem.setText(_armActionText);
}
}
// reset data from previous menu
final IAction action = _actionContributionItem.getAction();
if (action instanceof IAdvancedMenuForActions) {
((IAdvancedMenuForActions) action).resetData();
}
}
AdvancedMenuForActions.java 文件源码
java
阅读 32
收藏 0
点赞 0
评论 0
项目:mytourbook
作者:
评论列表
文章目录