blob: 293965d1c967459c88ca928f9d62c8fa0cd72c27 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006 Sybase, Inc. and others.
*
* 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
*
* Contributors:
* Sybase, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.pagedesigner.jsf.ui.actions;
import org.eclipse.core.resources.IFile;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jst.pagedesigner.editors.PageDesignerActionConstants;
import org.eclipse.jst.pagedesigner.extensionpoint.IContextMenuItemContributor;
import org.eclipse.jst.pagedesigner.jsf.ui.JSFUIPlugin;
import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
/**
* @author mengbo
* @version 1.5
*/
public class PageFlowContributor implements IContextMenuItemContributor
{
private String _uri;
/* (non-Javadoc)
* @see org.eclipse.jst.pagedesigner.extensionpoint.IContextMenuItemContributor#setURI(java.lang.String)
*/
public void setURI(String uri)
{
this._uri = uri;
}
/* (non-Javadoc)
* @see org.eclipse.jst.pagedesigner.extensionpoint.IContextMenuItemContributor#getURI()
*/
public String getURI()
{
return _uri;
}
/* (non-Javadoc)
* @see org.eclipse.jst.pagedesigner.extensionpoint.IContextMenuItemContributor#setModel(org.eclipse.wst.sse.core.internal.provisional.IStructuredModel)
*/
/* (non-Javadoc)
* @see org.eclipse.jst.pagedesigner.extensionpoint.IContextMenuItemContributor#fillContextMenu(org.eclipse.jface.action.IMenuManager)
*/
public void fillContextMenu(IMenuManager manager, ISelection selection, IStructuredModel model, Control parentUI)
{
PageFlowAction action = new PageFlowAction();
action.setId(PageFlowAction.ID);
action.setModel(model);
IMenuManager viewMgr = manager.findMenuUsingPath(PageDesignerActionConstants.SHOWVIEW_SUBMENU_ID);
if (viewMgr != null)
{
viewMgr.add(action);
}
else
{
manager.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, action);
}
}
private static class PageFlowAction extends Action
{
/**
* this action's id
*/
public final static String ID = "org.eclipse.jst.pagedesigner.jsf.ui.actions.PageFlowAction"; //$NON-NLS-1$
private IStructuredModel model;
/**
* construct the action
*/
public PageFlowAction()
{
setText(ActionsResources.getString("PageFlowContributor.Menu.PageFlow"));//$NON-NLS-1$
}
/**
* @param model
*/
public void setModel(IStructuredModel model)
{
this.model = model;
}
/* (non-Javadoc)
* @see org.eclipse.jface.action.IAction#run()
*/
public void run()
{
IFile file = StructuredModelUtil.getFileFor(model);
if (file != null)
{
try
{
// FacesConfigUtil.locateJSPFile(file);
}
catch (IllegalArgumentException e)
{
JSFUIPlugin.getAlerts().warning("Message.Warning.Title", e.getLocalizedMessage());//$NON-NLS-1$
}
}
}
}
}