]> git.uio.no Git - ifi-stolz-refaktor.git/blame - case-study/jdt-after/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/RenamePackageWizard.java
Case Study: adding data and statistics
[ifi-stolz-refaktor.git] / case-study / jdt-after / ui refactoring / org / eclipse / jdt / internal / ui / refactoring / reorg / RenamePackageWizard.java
CommitLineData
1b2798f6
EK
1/*******************************************************************************
2 * Copyright (c) 2000, 2011 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
7 *
8 * Contributors:
9 * IBM Corporation - initial API and implementation
10 *******************************************************************************/
11package org.eclipse.jdt.internal.ui.refactoring.reorg;
12
13import org.eclipse.swt.SWT;
14import org.eclipse.swt.events.SelectionAdapter;
15import org.eclipse.swt.events.SelectionEvent;
16import org.eclipse.swt.layout.GridData;
17import org.eclipse.swt.widgets.Button;
18import org.eclipse.swt.widgets.Composite;
19
20import org.eclipse.ltk.core.refactoring.Refactoring;
21import org.eclipse.ltk.core.refactoring.RefactoringStatus;
22import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring;
23
24import org.eclipse.jdt.internal.corext.refactoring.rename.RenamePackageProcessor;
25
26import org.eclipse.jdt.internal.ui.IJavaHelpContextIds;
27import org.eclipse.jdt.internal.ui.JavaPluginImages;
28import org.eclipse.jdt.internal.ui.refactoring.RefactoringMessages;
29import org.eclipse.jdt.internal.ui.util.RowLayouter;
30
31
32public class RenamePackageWizard extends RenameRefactoringWizard {
33
34 public RenamePackageWizard(Refactoring refactoring) {
35 super(refactoring,
36 RefactoringMessages.RenamePackageWizard_defaultPageTitle,
37 RefactoringMessages.RenamePackageWizard_inputPage_description,
38 JavaPluginImages.DESC_WIZBAN_REFACTOR_PACKAGE,
39 IJavaHelpContextIds.RENAME_PACKAGE_WIZARD_PAGE);
40 }
41
42 @Override
43 protected RenameInputWizardPage createInputPage(String message, String initialSetting) {
44 return new RenamePackageInputWizardPage(message, IJavaHelpContextIds.RENAME_PACKAGE_WIZARD_PAGE, initialSetting) {
45 @Override
46 protected RefactoringStatus validateTextField(String text) {
47 return validateNewName(text);
48 }
49 };
50 }
51
52 public static class RenamePackageInputWizardPage extends RenameInputWizardPage {
53
54 public Button fRenameSubpackages;
55 public RenamePackageInputWizardPage(String message, String contextHelpId, String initialValue) {
56 super(message, contextHelpId, true, initialValue);
57 }
58
59 @Override
60 protected void addAdditionalOptions(Composite composite, RowLayouter layouter) {
61 fRenameSubpackages= new Button(composite, SWT.CHECK);
62 fRenameSubpackages.setText(RefactoringMessages.RenamePackageWizard_rename_subpackages);
63 boolean subpackagesSelection= getBooleanSetting(RenameRefactoringWizard.PACKAGE_RENAME_SUBPACKAGES, getRenamePackageProcessor().getRenameSubpackages());
64 fRenameSubpackages.setSelection(subpackagesSelection);
65 getRenamePackageProcessor().setRenameSubpackages(subpackagesSelection);
66 fRenameSubpackages.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
67 fRenameSubpackages.addSelectionListener(new SelectionAdapter(){
68 @Override
69 public void widgetSelected(SelectionEvent e) {
70 getRenamePackageProcessor().setRenameSubpackages(fRenameSubpackages.getSelection());
71
72 RefactoringStatus status= validateTextField(getText());
73 if (status == null)
74 status= new RefactoringStatus();
75 setPageComplete(status);
76 }
77 });
78 layouter.generated_3766949527355685968(composite, RenamePackageInputWizardPage.this);
79 }
80
81 @Override
82 public void dispose() {
83 if (saveSettings() && fRenameSubpackages.isEnabled())
84 saveBooleanSetting(RenameRefactoringWizard.PACKAGE_RENAME_SUBPACKAGES, fRenameSubpackages);
85 super.dispose();
86 }
87
88 private RenamePackageProcessor getRenamePackageProcessor() {
89 return (RenamePackageProcessor) ((RenameRefactoring) getRefactoring()).getProcessor();
90 }
91 }
92}