| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2006 IBM Corporation 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: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.authoring.ui.actions; |
| |
| import java.util.List; |
| |
| import org.eclipse.epf.authoring.ui.AuthoringUIPlugin; |
| import org.eclipse.epf.authoring.ui.dialogs.ADDInfoDialog; |
| import org.eclipse.epf.authoring.ui.editors.AbstractDiagramEditor; |
| import org.eclipse.epf.authoring.ui.editors.ActivityDetailDiagramEditor; |
| import org.eclipse.epf.authoring.ui.filters.DescriptorConfigurationFilter; |
| import org.eclipse.epf.diagram.model.util.GraphicalDataHelper; |
| import org.eclipse.epf.diagram.model.util.GraphicalDataManager; |
| import org.eclipse.epf.library.edit.IFilter; |
| import org.eclipse.epf.library.edit.util.Suppression; |
| import org.eclipse.epf.uma.Activity; |
| import org.eclipse.epf.uma.CapabilityPattern; |
| import org.eclipse.epf.uma.MethodConfiguration; |
| import org.eclipse.epf.uma.Process; |
| import org.eclipse.jface.action.Action; |
| import org.eclipse.jface.viewers.Viewer; |
| import org.eclipse.ui.IEditorInput; |
| import org.eclipse.ui.IEditorPart; |
| import org.eclipse.ui.IWorkbenchPage; |
| import org.eclipse.ui.PartInitException; |
| import org.eclipse.ui.PlatformUI; |
| |
| /** |
| * Action to show the ADDInfoDialog, to show the ActivityDetailDiagrams |
| * in the process. Not in use. |
| * @author Shashidhar Kannoori |
| */ |
| public class ActivityDetailDiagramInfoAction extends Action { |
| |
| protected Object selected; |
| |
| public ActivityDetailDiagramInfoAction() { |
| super("Activity Detail Diagram Info"); //$NON-NLS-1$ |
| } |
| |
| public void run() { |
| |
| IFilter filter = new ADDFilter(null, null, null); |
| |
| ADDInfoDialog fd = new ADDInfoDialog(PlatformUI |
| .getWorkbench().getActiveWorkbenchWindow() |
| .getShell(), filter, getObject(), "Activity", //$NON-NLS-1$ |
| null); |
| |
| fd.setBlockOnOpen(true); |
| fd.setTitle("Activity"); //$NON-NLS-1$ |
| fd.open(); |
| List list = fd.getSelectedItems(); |
| |
| try { |
| IEditorPart parent = getPagex().getActiveEditor(); |
| IEditorInput input = new ActivityDetailDiagramEditor.EditorInput( |
| list.get(0), Suppression.getSuppression((Process)getObject())); |
| IEditorPart part = getPagex().openEditor(input, |
| ActivityDetailDiagramEditor.class |
| .getName()); |
| if (part instanceof AbstractDiagramEditor) { |
| AbstractDiagramEditor editor = (AbstractDiagramEditor) part; |
| editor.setParentEditor(parent); |
| } |
| } catch (PartInitException exception) { |
| AuthoringUIPlugin.getDefault().getLogger().logError( |
| exception); |
| } |
| // open editor |
| |
| super.run(); |
| } |
| |
| public Object getObject(){ |
| return selected; |
| } |
| |
| public IWorkbenchPage getPagex(){ |
| return null; |
| } |
| |
| public boolean isEnabled() { |
| return super.isEnabled(); |
| } |
| public class ADDFilter extends DescriptorConfigurationFilter { |
| public ADDFilter(MethodConfiguration methodConfig, Viewer viewer, String filterStr) { |
| super(methodConfig, viewer, filterStr); |
| } |
| |
| public boolean accept(Object obj) { |
| // TODO Auto-generated method stub |
| if(obj instanceof CapabilityPattern) return true; |
| if(obj instanceof Activity){ |
| org.eclipse.epf.uma.Diagram d = GraphicalDataManager.getInstance() |
| .getUMADiagram((Activity) obj, GraphicalDataHelper.ACTIVITY_DETAIL_DIAGRAM, false); |
| if(d != null ) return true; |
| } |
| return false; |
| } |
| } |
| } |