annotate dwtx/jface/wizard/Wizard.d @ 104:04b47443bb01

Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections. These new wrappers now use the tango.util.containers instead of the tango.util.collections.
author Frank Benoit <benoit@tionex.de>
date Thu, 07 Aug 2008 15:01:33 +0200
parents ef4534de0cf9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /*******************************************************************************
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 * Copyright (c) 2000, 2007 IBM Corporation and others.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 * All rights reserved. This program and the accompanying materials
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 * are made available under the terms of the Eclipse Public License v1.0
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 * which accompanies this distribution, and is available at
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 * http://www.eclipse.org/legal/epl-v10.html
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 * Contributors:
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 * IBM Corporation - initial API and implementation
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 * Port to the D programming language:
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 * Frank Benoit <benoit@tionex.de>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 *******************************************************************************/
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13 module dwtx.jface.wizard.Wizard;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
15 import dwtx.jface.wizard.IWizard;
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
16 import dwtx.jface.wizard.IWizardPage;
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
17 import dwtx.jface.wizard.IWizardContainer;
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
18
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 import dwt.graphics.Image;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 import dwt.graphics.RGB;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 import dwt.widgets.Composite;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 import dwt.widgets.Shell;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 import dwtx.core.runtime.Assert;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 import dwtx.jface.dialogs.IDialogSettings;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 import dwtx.jface.resource.ImageDescriptor;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27 import dwtx.jface.resource.JFaceResources;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
29 import dwt.dwthelper.utils;
104
04b47443bb01 Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents: 35
diff changeset
30 import dwtx.dwtxhelper.Collection;
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
31
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33 * An abstract base implementation of a wizard. A typical client subclasses
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 * <code>Wizard</code> to implement a particular wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 * Subclasses may call the following methods to configure the wizard:
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 * <ul>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 * <li><code>addPage</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 * <li><code>setHelpAvailable</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 * <li><code>setDefaultPageImageDescriptor</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 * <li><code>setDialogSettings</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42 * <li><code>setNeedsProgressMonitor</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 * <li><code>setTitleBarColor</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 * <li><code>setWindowTitle</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 * </ul>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 * </p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 * Subclasses may override these methods if required:
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 * <ul>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 * <li>reimplement <code>createPageControls</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 * <li>reimplement <code>performCancel</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 * <li>extend <code>addPages</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 * <li>reimplement <code>performFinish</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 * <li>extend <code>dispose</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 * </ul>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 * </p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58 * Note that clients are free to implement <code>IWizard</code> from scratch
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59 * instead of subclassing <code>Wizard</code>. Correct implementations of
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 * <code>IWizard</code> will work with any correct implementation of
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 * <code>IWizardPage</code>.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 * </p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 */
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
64 public abstract class Wizard : IWizard {
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 * Image registry key of the default image for wizard pages (value
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 * <code>"dwtx.jface.wizard.Wizard.pageImage"</code>).
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69 public static final String DEFAULT_IMAGE = "dwtx.jface.wizard.Wizard.pageImage";//$NON-NLS-1$
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 * The wizard container this wizard belongs to; <code>null</code> if none.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 private IWizardContainer container = null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
77 * This wizard's list of pages (element type: <code>IWizardPage</code>).
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78 */
104
04b47443bb01 Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents: 35
diff changeset
79 private List pages;
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
81 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82 * Indicates whether this wizard needs a progress monitor.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
83 */
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
84 private bool needsProgressMonitor_ = false;
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
85
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
86 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
87 * Indicates whether this wizard needs previous and next buttons even if the
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88 * wizard has only one page.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90 private bool forcePreviousAndNextButtons = false;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93 * Indicates whether this wizard supports help.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94 */
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
95 private bool isHelpAvailable_ = false;
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
97 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98 * The default page image for pages without one of their one;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 * <code>null</code> if none.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 private Image defaultImage = null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104 * The default page image descriptor, used for creating a default page image
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 * if required; <code>null</code> if none.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 */
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
107 private ImageDescriptor defaultImageDescriptor;
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
109 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
110 * The color of the wizard title bar; <code>null</code> if none.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 private RGB titleBarColor = null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
115 * The window title string for this wizard; <code>null</code> if none.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
116 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 private String windowTitle = null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
118
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
119 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
120 * The dialog settings for this wizard; <code>null</code> if none.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122 private IDialogSettings dialogSettings = null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
124 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
125 * Creates a new empty wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
126 */
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
127 protected this() {
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
128 //super();
104
04b47443bb01 Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents: 35
diff changeset
129 pages = new ArrayList();
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
130 defaultImageDescriptor = JFaceResources.getImageRegistry().getDescriptor(DEFAULT_IMAGE);
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
131 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
132
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
133 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
134 * Adds a new page to this wizard. The page is inserted at the end of the
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135 * page list.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
136 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
137 * @param page
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
138 * the new page
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
140 public void addPage(IWizardPage page) {
104
04b47443bb01 Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents: 35
diff changeset
141 pages.add(cast(Object)page);
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
142 page.setWizard(this);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
143 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
144
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
145 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
146 * The <code>Wizard</code> implementation of this <code>IWizard</code>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
147 * method does nothing. Subclasses should extend if extra pages need to be
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
148 * added before the wizard opens. New pages should be added by calling
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
149 * <code>addPage</code>.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
150 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151 public void addPages() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
152 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
153
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
154 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
155 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
156 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
157 public bool canFinish() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
158 // Default implementation is to check if all pages are complete.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
159 for (int i = 0; i < pages.size(); i++) {
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
160 if (!(cast(IWizardPage) pages.get(i)).isPageComplete()) {
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
161 return false;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
162 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
163 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164 return true;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
166
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
167 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
168 * The <code>Wizard</code> implementation of this <code>IWizard</code>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
169 * method creates all the pages controls using
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170 * <code>IDialogPage.createControl</code>. Subclasses should reimplement
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
171 * this method if they want to delay creating one or more of the pages
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
172 * lazily. The framework ensures that the contents of a page will be created
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
173 * before attempting to show it.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
174 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
175 public void createPageControls(Composite pageContainer) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
176 // the default behavior is to create all the pages controls
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
177 for (int i = 0; i < pages.size(); i++) {
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
178 IWizardPage page = cast(IWizardPage) pages.get(i);
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
179 page.createControl(pageContainer);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
180 // page is responsible for ensuring the created control is
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
181 // accessable
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
182 // via getControl.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
183 Assert.isNotNull(page.getControl());
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
184 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
185 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
186
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
187 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
188 * The <code>Wizard</code> implementation of this <code>IWizard</code>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
189 * method disposes all the pages controls using
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
190 * <code>DialogPage.dispose</code>. Subclasses should extend this method
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
191 * if the wizard instance maintains addition DWT resource that need to be
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
192 * disposed.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
193 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
194 public void dispose() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
195 // notify pages
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
196 for (int i = 0; i < pages.size(); i++) {
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
197 (cast(IWizardPage) pages.get(i)).dispose();
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
198 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
199 // dispose of image
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
200 if (defaultImage !is null) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
201 JFaceResources.getResources().destroyImage(defaultImageDescriptor);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
202 defaultImage = null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
203 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
204 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
205
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
206 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
207 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
208 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
209 public IWizardContainer getContainer() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
210 return container;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
211 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
212
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
213 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
214 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
215 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
216 public Image getDefaultPageImage() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
217 if (defaultImage is null) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
218 defaultImage = JFaceResources.getResources().createImageWithDefault(defaultImageDescriptor);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
219 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
220 return defaultImage;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
221 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
222
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
223 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
224 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
225 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
226 public IDialogSettings getDialogSettings() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
227 return dialogSettings;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
228 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
229
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
230 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
231 * (non-Javadoc) Method declared on IWizard. The default behavior is to
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
232 * return the page that was added to this wizard after the given page.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
233 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
234 public IWizardPage getNextPage(IWizardPage page) {
104
04b47443bb01 Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents: 35
diff changeset
235 int index = pages.indexOf( cast(Object)page );
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
236 if (index is pages.size() - 1 || index is -1) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
237 // last page or page not found
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
238 return null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
239 }
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
240 return cast(IWizardPage) pages.get(index + 1);
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
241 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
242
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
243 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
244 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
245 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
246 public IWizardPage getPage(String name) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
247 for (int i = 0; i < pages.size(); i++) {
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
248 IWizardPage page = cast(IWizardPage) pages.get(i);
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
249 String pageName = page.getName();
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
250 if (pageName.equals(name)) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
251 return page;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
252 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
253 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
254 return null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
255 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
256
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
257 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
258 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
259 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
260 public int getPageCount() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
261 return pages.size();
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
262 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
263
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
264 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
265 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
266 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
267 public IWizardPage[] getPages() {
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
268 return arraycast!(IWizardPage)( pages.toArray());
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
269 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
270
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
271 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
272 * (non-Javadoc) Method declared on IWizard. The default behavior is to
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
273 * return the page that was added to this wizard before the given page.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
274 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
275 public IWizardPage getPreviousPage(IWizardPage page) {
104
04b47443bb01 Reworked the collection uses to make use of a wrapper collection that is compatible to the Java Collections.
Frank Benoit <benoit@tionex.de>
parents: 35
diff changeset
276 int index = pages.indexOf(cast(Object)page);
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
277 if (index is 0 || index is -1) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
278 // first page or page not found
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
279 return null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
280 }
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
281 return cast(IWizardPage) pages.get(index - 1);
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
282 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
283
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
284 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
285 * Returns the wizard's shell if the wizard is visible. Otherwise
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
286 * <code>null</code> is returned.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
287 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
288 * @return Shell
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
289 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
290 public Shell getShell() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
291 if (container is null) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
292 return null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
293 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
294 return container.getShell();
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
295 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
296
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
297 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
298 * (non-Javadoc) Method declared on IWizard. By default this is the first
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
299 * page inserted into the wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
300 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
301 public IWizardPage getStartingPage() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
302 if (pages.size() is 0) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
303 return null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
304 }
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
305 return cast(IWizardPage) pages.get(0);
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
306 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
307
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
308 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
309 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
310 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
311 public RGB getTitleBarColor() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
312 return titleBarColor;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
313 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
314
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
315 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
316 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
317 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
318 public String getWindowTitle() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
319 return windowTitle;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
320 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
321
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
322 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
323 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
324 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
325 public bool isHelpAvailable() {
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
326 return isHelpAvailable_;
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
327 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
328
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
329 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
330 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
331 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
332 public bool needsPreviousAndNextButtons() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
333 return forcePreviousAndNextButtons || pages.size() > 1;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
334 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
335
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
336 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
337 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
338 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
339 public bool needsProgressMonitor() {
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
340 return needsProgressMonitor_;
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
341 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
342
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
343 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
344 * The <code>Wizard</code> implementation of this <code>IWizard</code>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
345 * method does nothing and returns <code>true</code>. Subclasses should
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
346 * reimplement this method if they need to perform any special cancel
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
347 * processing for their wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
348 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
349 public bool performCancel() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
350 return true;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
351 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
352
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
353 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
354 * Subclasses must implement this <code>IWizard</code> method to perform
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
355 * any special finish processing for their wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
356 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
357 public abstract bool performFinish();
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
358
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
359 /*
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
360 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
361 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
362 public void setContainer(IWizardContainer wizardContainer) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
363 container = wizardContainer;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
364 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
365
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
366 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
367 * Sets the default page image descriptor for this wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
368 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
369 * This image descriptor will be used to generate an image for a page with
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
370 * no image of its own; the image will be computed once and cached.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
371 * </p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
372 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
373 * @param imageDescriptor
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
374 * the default page image descriptor
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
375 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
376 public void setDefaultPageImageDescriptor(ImageDescriptor imageDescriptor) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
377 defaultImageDescriptor = imageDescriptor;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
378 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
379
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
380 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
381 * Sets the dialog settings for this wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
382 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
383 * The dialog settings is used to record state between wizard invocations
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
384 * (for example, radio button selection, last import directory, etc.)
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
385 * </p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
386 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
387 * @param settings
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
388 * the dialog settings, or <code>null</code> if none
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
389 * @see #getDialogSettings
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
390 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
391 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
392 public void setDialogSettings(IDialogSettings settings) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
393 dialogSettings = settings;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
394 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
395
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
396 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
397 * Controls whether the wizard needs Previous and Next buttons even if it
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
398 * currently contains only one page.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
399 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
400 * This flag should be set on wizards where the first wizard page adds
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
401 * follow-on wizard pages based on user input.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
402 * </p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
403 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
404 * @param b
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
405 * <code>true</code> to always show Next and Previous buttons,
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
406 * and <code>false</code> to suppress Next and Previous buttons
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
407 * for single page wizards
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
408 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
409 public void setForcePreviousAndNextButtons(bool b) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
410 forcePreviousAndNextButtons = b;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
411 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
412
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
413 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
414 * Sets whether help is available for this wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
415 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
416 * The result of this method is typically used by the container to show or
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
417 * hide the Help button.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
418 * </p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
419 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
420 * @param b
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
421 * <code>true</code> if help is available, and
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
422 * <code>false</code> if this wizard is helpless
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
423 * @see #isHelpAvailable()
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
424 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
425 public void setHelpAvailable(bool b) {
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
426 isHelpAvailable_ = b;
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
427 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
428
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
429 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
430 * Sets whether this wizard needs a progress monitor.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
431 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
432 * @param b
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
433 * <code>true</code> if a progress monitor is required, and
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
434 * <code>false</code> if none is needed
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
435 * @see #needsProgressMonitor()
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
436 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
437 public void setNeedsProgressMonitor(bool b) {
35
ef4534de0cf9 remaining files
Frank Benoit <benoit@tionex.de>
parents: 9
diff changeset
438 needsProgressMonitor_ = b;
9
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
439 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
440
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
441 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
442 * Sets the title bar color for this wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
443 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
444 * @param color
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
445 * the title bar color
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
446 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
447 public void setTitleBarColor(RGB color) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
448 titleBarColor = color;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
449 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
450
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
451 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
452 * Sets the window title for the container that hosts this page to the given
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
453 * string.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
454 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
455 * @param newTitle
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
456 * the window title for the container
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
457 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
458 public void setWindowTitle(String newTitle) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
459 windowTitle = newTitle;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
460 if (container !is null) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
461 container.updateWindowTitle();
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
462 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
463 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
464 }