/** * Դ�������ƣ�JresGlobalActionHandler * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.ui * ����˵����$desc * ����ĵ��� * ���ߣ�sundl */ package com.hundsun.ares.studio.ui.editor.actions; import org.apache.log4j.Logger; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent; import org.eclipse.jface.viewers.ColumnViewerEditorActivationListener; import org.eclipse.jface.viewers.ColumnViewerEditorDeactivationEvent; import org.eclipse.ui.IActionBars; import org.eclipse.ui.actions.ActionFactory; public class JresGlobalActionHandler extends ColumnViewerEditorActivationListener { private static final Logger logger = Logger.getLogger(JresGlobalActionHandler.class); private IAction copyAction; private IAction pasteAction; private IActionBars actionBars; public JresGlobalActionHandler(IActionBars actionBars) { this.actionBars = actionBars; } @Override public void beforeEditorDeactivated(ColumnViewerEditorDeactivationEvent event) { } @Override public void beforeEditorActivated(ColumnViewerEditorActivationEvent event) { } @Override public void afterEditorDeactivated(ColumnViewerEditorDeactivationEvent event) { actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), copyAction); actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), pasteAction); logger.debug("Global action set..."); } @Override public void afterEditorActivated(ColumnViewerEditorActivationEvent event) { this.copyAction = actionBars.getGlobalActionHandler(ActionFactory.COPY.getId()); this.pasteAction = actionBars.getGlobalActionHandler(ActionFactory.PASTE.getId()); actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), null); actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), null); logger.debug("Global action cleared..."); } }