package org.herac.tuxguitar.ui.swt.event; import org.eclipse.swt.events.MenuEvent; import org.eclipse.swt.events.MenuListener; import org.herac.tuxguitar.ui.event.UIMenuEvent; import org.herac.tuxguitar.ui.event.UIMenuHideListener; import org.herac.tuxguitar.ui.event.UIMenuHideListenerManager; import org.herac.tuxguitar.ui.event.UIMenuShowListener; import org.herac.tuxguitar.ui.event.UIMenuShowListenerManager; import org.herac.tuxguitar.ui.swt.widget.SWTEventReceiver; public class SWTMenuListenerManager implements MenuListener { private SWTEventReceiver<?> control; private UIMenuShowListenerManager menuShowListener; private UIMenuHideListenerManager menuHideListener; public SWTMenuListenerManager(SWTEventReceiver<?> control) { this.control = control; this.menuShowListener = new UIMenuShowListenerManager(); this.menuHideListener = new UIMenuHideListenerManager(); } public boolean isEmpty() { return (this.menuShowListener.isEmpty() && this.menuHideListener.isEmpty()); } public void addListener(UIMenuShowListener listener) { this.menuShowListener.addListener(listener); } public void addListener(UIMenuHideListener listener) { this.menuHideListener.addListener(listener); } public void removeListener(UIMenuShowListener listener) { this.menuShowListener.removeListener(listener); } public void removeListener(UIMenuHideListener listener) { this.menuHideListener.removeListener(listener); } public void menuShown(MenuEvent e) { if(!this.control.isIgnoreEvents()) { this.menuShowListener.onMenuShow(new UIMenuEvent(this.control)); } } public void menuHidden(MenuEvent e) { if(!this.control.isIgnoreEvents()) { this.menuHideListener.onMenuHide(new UIMenuEvent(this.control)); } } }