~piastucki/bzr-eclipse/import-wizard-improvements

« back to all changes in this revision

Viewing changes to org.vcs.bazaar.eclipse.ui/src/org/vcs/bazaar/eclipse/ui/wizards/createproject/SelectProjectWizardWizard.java

  • Committer: Piotr Piastucki
  • Date: 2013-11-12 20:25:36 UTC
  • Revision ID: piotr_piastucki-20131112202536-1gedgjzzepdyq0x3
Rework import wizard

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
 *******************************************************************************/
8
8
package org.vcs.bazaar.eclipse.ui.wizards.createproject;
9
9
 
10
 
import org.eclipse.jface.viewers.IStructuredSelection;
 
10
import org.eclipse.jface.wizard.IWizardPage;
11
11
import org.eclipse.jface.wizard.Wizard;
12
12
import org.eclipse.jface.wizard.WizardDialog;
13
13
import org.eclipse.swt.widgets.Shell;
14
 
import org.eclipse.ui.IWorkbench;
15
14
import org.vcs.bazaar.eclipse.ui.UITexts;
16
15
 
17
16
/**
19
18
 */
20
19
public class SelectProjectWizardWizard extends Wizard {
21
20
 
22
 
        private SelectProjectWizardPage page;
23
 
        private boolean newProjectWizardSelected;
 
21
        private SelectProjectWizardPage selectWizardPage;
 
22
        private SelectProjectNamePage selectProjectNamePage;
 
23
        private ProjectWizardType wizardType;
 
24
        private String projectName;
 
25
        private String projectLocation;
24
26
        private boolean cancelled;
 
27
        private final boolean existing;
25
28
 
26
 
        public void init(IWorkbench workbench, IStructuredSelection selection) {
 
29
        public SelectProjectWizardWizard(boolean existing) {
 
30
                this.existing = existing;
27
31
        setWindowTitle(UITexts.CreateProjectWizard_title);
 
32
        setNeedsProgressMonitor(true);
28
33
        }
29
34
 
30
35
        @Override
31
36
        public void addPages() {
32
 
        page = new SelectProjectWizardPage("SelectProjectWizardPage");
33
 
        addPage(page);
 
37
                selectWizardPage = new SelectProjectWizardPage("SelectProjectWizardPage", existing);
 
38
                selectProjectNamePage = new SelectProjectNamePage("SelectProjectNamePage");
 
39
        addPage(selectWizardPage);
 
40
        addPage(selectProjectNamePage);
34
41
        }
35
42
    
36
43
        @Override
37
44
        public boolean performFinish() {
38
 
                newProjectWizardSelected = page.isNewProjectWizardSelected();
 
45
                wizardType = selectWizardPage.getWizardType();
 
46
                projectName = selectProjectNamePage.getProjectName();
 
47
                projectLocation = selectProjectNamePage.getProjectLocation();
39
48
                cancelled = false;
40
49
                return true;
41
50
        }
46
55
                return true;
47
56
        }
48
57
 
 
58
        @Override
 
59
        public IWizardPage getNextPage(IWizardPage page) {
 
60
                if (page == selectWizardPage) {
 
61
                        switch (selectWizardPage.getWizardType()) {
 
62
                        case GENERAL:
 
63
                        case IMPORT_EXISTING:
 
64
                                return selectProjectNamePage;
 
65
                        case WIZARD:
 
66
                                return null;
 
67
                        }
 
68
                        return super.getNextPage(page);
 
69
                }
 
70
                return null;
 
71
        }
 
72
 
 
73
        @Override
 
74
        public boolean canFinish() {
 
75
                switch (selectWizardPage.getWizardType()) {
 
76
                case GENERAL:
 
77
                case IMPORT_EXISTING:
 
78
                        return selectProjectNamePage.isPageComplete();
 
79
                case WIZARD:
 
80
                        return true;
 
81
                }
 
82
                return super.canFinish();
 
83
        }
 
84
 
49
85
        public void show(Shell shell) {
50
86
        new WizardDialog(shell, this).open();
51
87
    }
52
88
 
53
 
        public boolean isNewProjectWizardSelected() {
54
 
                return newProjectWizardSelected;
 
89
        public ProjectWizardType getWizardType() {
 
90
                return wizardType;
55
91
        }
56
92
 
57
93
        public boolean isCancelled() {
58
94
                return cancelled;
59
95
        }
 
96
 
 
97
        public String getProjectName() {
 
98
        return projectName;
 
99
        }
 
100
 
 
101
        public String getProjectLocation() {
 
102
                return projectLocation;
 
103
        }
60
104
}