diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/actions/PageFlowContributor.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/actions/PageFlowContributor.java | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/actions/PageFlowContributor.java b/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/actions/PageFlowContributor.java new file mode 100644 index 000000000..fea96380b --- /dev/null +++ b/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/actions/PageFlowContributor.java @@ -0,0 +1,109 @@ +/******************************************************************************* + * 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.MENUMGR_VIEW_ID); + if (viewMgr != null) + { + viewMgr.add(action); + } + else + { + manager.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, action); + } + } + + class PageFlowAction extends Action + { + public final static String ID = "org.eclipse.jst.pagedesigner.jsf.ui.actions.PageFlowAction"; //$NON-NLS-1$ + private IStructuredModel model; + + public PageFlowAction() + { + setText(ActionsResources.getString("PageFlowContributor.Menu.PageFlow"));//$NON-NLS-1$ + } + + 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$ + } + } + } + } +} |