/******************************************************************************* * This file is part of the Symfony eclipse plugin. * * (c) Robert Gruendler <r.gruendler@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. ******************************************************************************/ package com.dubture.symfony.ui.utils; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.dltk.core.DLTKCore; import org.eclipse.dltk.core.IScriptFolder; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.ISelectionService; import org.eclipse.ui.PlatformUI; import org.eclipse.php.composer.core.model.ModelAccess; import com.dubture.symfony.core.log.Logger; import com.dubture.symfony.core.resources.SymfonyMarker; public class DialogUtils { /** * FIXME: Suport PDT 5.0 wizard pages * @param marker */ public static void launchClassWizardFromMarker(IMarker marker) { // Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); // ISelectionService selectionService = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService(); // ISelection selection = selectionService.getSelection(); // // NewClassWizard wizard = new NewClassWizard(); // String serviceClass = ""; // String className = ""; // IScriptFolder folder = null; // // try { // serviceClass = (String) marker.getAttribute(SymfonyMarker.SERVICE_CLASS); // } catch (CoreException e) { // Logger.logException(e); // } // // if (serviceClass == null) { // Logger.log(Logger.ERROR, "Could not retrieve service class to open class dialog"); // return;x // } // // ModelAccess composer = ModelAccess.getInstance(); // IResource resource = marker.getResource(); // className = serviceClass.substring(serviceClass.lastIndexOf("\\"), serviceClass.length()); // String ns = serviceClass.replace(className, ""); // IPath folderPath = composer.reverseResolve(resource.getProject(), ns); // // if (folderPath == null) { // MessageDialog.openError(Display.getCurrent().getActiveShell(), "Error opening class wizard", "Could not open the New Class wizard. See the workspace log for details"); // Logger.log(Logger.ERROR, "Unable to retrieve target folder from composer information"); // return; // } // // IFolder targetFolder = resource.getProject().getFolder(folderPath); // if (targetFolder.exists() == false) { // try { // targetFolder.create(true, true, new NullProgressMonitor()); // } catch (CoreException e) { // e.printStackTrace(); // } // } // // folder = (IScriptFolder) DLTKCore.create(targetFolder); // // wizard.setClassName(className.replace("\\", "")); // wizard.setNamespace(ns); // wizard.setScriptFolder(folder); // // if (selection instanceof IStructuredSelection) { // wizard.init(PlatformUI.getWorkbench(), (IStructuredSelection) selectionService.getSelection()); // } // // WizardDialog dialog = new WizardDialog(shell, wizard); // dialog.create(); // dialog.open(); } }