/*******************************************************************************
* Copyright (c) 2005, 2012 eBay Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
*******************************************************************************/
/**
*
*/
package org.eclipse.vjet.eclipse.ui;
import org.eclipse.vjet.eclipse.codeassist.CodeassistUtils;
import org.eclipse.vjet.eclipse.internal.ui.editor.VjoEditor;
import org.eclipse.dltk.mod.core.IModelElement;
import org.eclipse.dltk.mod.internal.core.VjoSourceModule;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.ui.IPartListener;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.internal.PartSite;
/**
*
*
*/
class VjetPartListener implements IPartListener {
/*
* comment by kevin, activing context logic has been moved to VjetPerspectiveListener.
* JUST based on perspective, not part!
*/
// private IContextActivation m_activatedContext;
public void partActivated(IWorkbenchPart part) {
if (part instanceof VjoEditor) {
VjoEditor editor = (VjoEditor)part;
IModelElement module = editor.getInputModelElement();
if (CodeassistUtils.isVjoSourceModule(module)) {
try {
boolean refresh = ((VjoSourceModule)module).refreshSourceFields();
if (refresh) {
editor.refreshOutlinePage();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
// IWorkbenchPartSite site = part.getSite();
// if (DLTKUIPlugin.ID_SCRIPTEXPLORER.equals(site.getId())) {
// IContextService contextService = (IContextService) part.getSite()
// .getService(IContextService.class);
// m_activatedContext = contextService
// .activateContext("org.eclipse.dltk.mod.ui.scriptEditorScope");
// }
//add by xingzhu, to fix bug 3332, change add exception action tooltip to 'Add Javascript Exception Breakpoint'
try {
if (part instanceof IViewPart) {
IToolBarManager toolBarManager = ((PartSite)(part.getSite())).getActionBars().getToolBarManager();
IContributionItem[] items = toolBarManager.getItems();
for (int i = 0; i < items.length; i++) {
if ("org.eclipse.jdt.debug.ui.actions.AddException".equals(items[i].getId())) {
ActionContributionItem actionItem = (ActionContributionItem)items[i];
actionItem.getAction().setToolTipText("Add JavaScript Exception Breakpoint");
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void partBroughtToTop(IWorkbenchPart part) {
}
public void partClosed(IWorkbenchPart part) {
// TODO Auto-generated method stub
}
public void partDeactivated(IWorkbenchPart part) {
// IWorkbenchPartSite site = part.getSite();
// if (DLTKUIPlugin.ID_SCRIPTEXPLORER.equals(site.getId())) {
// IContextService contextService = (IContextService) part.getSite()
// .getService(IContextService.class);
// contextService.deactivateContext(m_activatedContext);
// }
}
public void partOpened(IWorkbenchPart part) {
}
};