1 /*******************************************************************************
2 * Copyright (c) 2000, 2009 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
9 * IBM Corporation - initial API and implementation
10 *******************************************************************************/
11 package org.eclipse.jdt.internal.ui.refactoring.reorg;
13 import org.eclipse.swt.widgets.Shell;
15 import org.eclipse.core.runtime.Assert;
17 import org.eclipse.jface.layout.PixelConverter;
18 import org.eclipse.jface.resource.JFaceResources;
19 import org.eclipse.jface.viewers.StructuredSelection;
20 import org.eclipse.jface.wizard.IWizardPage;
21 import org.eclipse.jface.wizard.Wizard;
22 import org.eclipse.jface.wizard.WizardDialog;
24 import org.eclipse.ui.IWorkbenchWizard;
26 import org.eclipse.jdt.internal.corext.refactoring.reorg.ICreateTargetQueries;
27 import org.eclipse.jdt.internal.corext.refactoring.reorg.ICreateTargetQuery;
29 import org.eclipse.jdt.ui.wizards.NewPackageWizardPage;
31 import org.eclipse.jdt.internal.ui.JavaPlugin;
32 import org.eclipse.jdt.internal.ui.wizards.NewPackageCreationWizard;
35 public class CreateTargetQueries implements ICreateTargetQueries {
37 private final Wizard fWizard;
38 private final Shell fShell;
40 public CreateTargetQueries(Wizard wizard) {
45 public CreateTargetQueries(Shell shell) {
50 private Shell getShell() {
51 Assert.isTrue(fWizard == null || fShell == null);
53 return fWizard.getContainer().getShell();
54 else if (fShell != null)
57 return JavaPlugin.getActiveWorkbenchShell();
60 public ICreateTargetQuery createNewPackageQuery() {
61 return new ICreateTargetQuery() {
62 public Object getCreatedTarget(Object selection) {
63 IWorkbenchWizard packageCreationWizard= new NewPackageCreationWizard();
65 IWizardPage[] pages= openNewElementWizard(packageCreationWizard, getShell(), selection);
67 NewPackageWizardPage page= (NewPackageWizardPage) pages[0];
68 return page.getNewPackageFragment();
71 public String getNewButtonLabel() {
72 return ReorgMessages.ReorgMoveWizard_newPackage;
77 private IWizardPage[] openNewElementWizard(IWorkbenchWizard wizard, Shell shell, Object selection) {
78 wizard.init(JavaPlugin.getDefault().getWorkbench(), new StructuredSelection(selection));
80 WizardDialog dialog= new WizardDialog(shell, wizard);
81 PixelConverter converter= new PixelConverter(JFaceResources.getDialogFont());
82 dialog.setMinimumPageSize(converter.convertWidthInCharsToPixels(70), converter.convertHeightInCharsToPixels(20));
85 IWizardPage[] pages= wizard.getPages();