001: /*
002: * ChainBuilder ESB
003: * Visual Enterprise Integration
004: *
005: * Copyright (C) 2007 Bostech Corporation
006: *
007: * This program is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU General Public License as published by the
009: * Free Software Foundation; either version 2 of the License, or (at your option)
010: * any later version.
011: *
012: * This program is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
014: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
015: * for more details.
016: *
017: * You should have received a copy of the GNU General Public License along with
018: * this program; if not, write to the Free Software Foundation, Inc.,
019: * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020: *
021: *
022: * $Id
023: */
024:
025: package com.bostechcorp.cbesb.ui.ide.actions;
026:
027: import org.eclipse.core.resources.IProject;
028: import org.eclipse.jface.action.IAction;
029: import org.eclipse.jface.viewers.ISelection;
030: import org.eclipse.jface.viewers.IStructuredSelection;
031: import org.eclipse.jface.wizard.WizardDialog;
032: import org.eclipse.swt.widgets.Shell;
033: import org.eclipse.ui.IActionDelegate;
034: import org.eclipse.ui.IEditorActionDelegate;
035: import org.eclipse.ui.IEditorPart;
036: import org.eclipse.ui.IObjectActionDelegate;
037: import org.eclipse.ui.IViewActionDelegate;
038: import org.eclipse.ui.IViewPart;
039: import org.eclipse.ui.IWorkbenchPart;
040: import org.eclipse.ui.IWorkbenchWindow;
041: import org.eclipse.ui.PlatformUI;
042:
043: import com.bostechcorp.cbesb.ui.ide.util.JavaProjectUtil;
044: import com.bostechcorp.cbesb.ui.ide.wizards.ImportedWSDLWizard;
045: import com.bostechcorp.cbesb.ui.ide.wizards.JBISAProjectCreationWizardPage;
046:
047: public class ConvertToJBIAction implements IObjectActionDelegate {
048: /**
049: * The currently selected object in the active view
050: */
051: private ISelection selection;
052: private IWorkbenchWindow window;
053: private IWorkbenchPart targetPart;
054: private IProject project = null;
055:
056: /**
057: * Sets the active part for the delegate. This method will be called
058: * every time the action appears in a context menu. The targetPart
059: * may change with each invocation.
060: */
061: public void setActivePart(IAction action, IWorkbenchPart part) {
062: this .targetPart = part;
063: }
064:
065: /**
066: * Initializes this action delegate with the view it will work in.
067: *
068: * @param view the view that provides the context for this delegate
069: * @see IViewActionDelegate#init(IViewPart)
070: */
071: public void init(IViewPart view) {
072: // this.window = window;
073: }
074:
075: /**
076: * Sets the active editor for the delegate. Implementors should
077: * disconnect from the old editor, connect to the new editor, and
078: * update the action to reflect the new editor.
079: *
080: * @param action the action proxy that handles presentation portion
081: * of the action
082: * @param editor the new editor target
083: * @see IEditorActionDelegate #setActiveEditor(IAction, IEditorPart)
084: */
085: public void setActiveEditor(IAction action, IEditorPart editor) {
086: }
087:
088: /**
089: * Notifies this action delegate that the selection in the
090: * workbench has changed.
091: *
092: * @param action the action proxy that handles presentation portion
093: * of the action
094: * @param selection the current selection, or <code>null</code>
095: * if there is no selection.
096: * @see IActionDelegate#selectionChanged(IAction, ISelection)
097: */
098: public void selectionChanged(IAction action, ISelection selection) {
099: this .selection = selection;
100: if (selection != null)
101: project = JavaProjectUtil
102: .getProject((IStructuredSelection) selection);
103: action.setEnabled(!selection.isEmpty() && project != null);
104: }
105:
106: /**
107: * Called when the user has selected this action to be executed.
108: */
109: public void run(IAction action) {
110: JavaProjectUtil.addNature(project,
111: JBISAProjectCreationWizardPage.JBI_NATURE);
112: }
113: }
|