annotate dwtx/jface/wizard/Wizard.d @ 9:6c14e54dfc11

completed /jface/resource/
author Frank Benoit <benoit@tionex.de>
date Sat, 29 Mar 2008 02:25:12 +0100
parents
children ef4534de0cf9
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
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 import dwt.dwthelper.utils;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16 pragma( msg, "FIXME dwtx.jface.wizard.Wizard");
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17 class Wizard {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 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
19 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 /++
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 import java.util.ArrayList;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 import java.util.List;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 import dwt.graphics.Image;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 import dwt.graphics.RGB;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 import dwt.widgets.Composite;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27 import dwt.widgets.Shell;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28 import dwtx.core.runtime.Assert;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 import dwtx.jface.dialogs.IDialogSettings;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 import dwtx.jface.resource.ImageDescriptor;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 import dwtx.jface.resource.JFaceResources;
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 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 * An abstract base implementation of a wizard. A typical client subclasses
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 * <code>Wizard</code> to implement a particular wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 * Subclasses may call the following methods to configure the wizard:
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 * <ul>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 * <li><code>addPage</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 * <li><code>setHelpAvailable</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 * <li><code>setDefaultPageImageDescriptor</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42 * <li><code>setDialogSettings</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 * <li><code>setNeedsProgressMonitor</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 * <li><code>setTitleBarColor</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 * <li><code>setWindowTitle</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 * </ul>
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 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 * Subclasses may override these methods if required:
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 * <ul>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 * <li>reimplement <code>createPageControls</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 * <li>reimplement <code>performCancel</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 * <li>extend <code>addPages</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 * <li>reimplement <code>performFinish</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 * <li>extend <code>dispose</code></li>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 * </ul>
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 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59 * Note that clients are free to implement <code>IWizard</code> from scratch
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 * instead of subclassing <code>Wizard</code>. Correct implementations of
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 * <code>IWizard</code> will work with any correct implementation of
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 * <code>IWizardPage</code>.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 * </p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 public abstract class Wizard implements IWizard {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 * Image registry key of the default image for wizard pages (value
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 * <code>"dwtx.jface.wizard.Wizard.pageImage"</code>).
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 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
71
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73 * The wizard container this wizard belongs to; <code>null</code> if none.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 private IWizardContainer container = null;
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 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78 * This wizard's list of pages (element type: <code>IWizardPage</code>).
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80 private List pages = new ArrayList();
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 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
83 * Indicates whether this wizard needs a progress monitor.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
84 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
85 private bool needsProgressMonitor = false;
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 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88 * Indicates whether this wizard needs previous and next buttons even if the
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89 * wizard has only one page.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91 private bool forcePreviousAndNextButtons = false;
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 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94 * Indicates whether this wizard supports help.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 private bool isHelpAvailable = false;
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 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 * The default page image for pages without one of their one;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 * <code>null</code> if none.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102 private Image defaultImage = null;
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 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 * The default page image descriptor, used for creating a default page image
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 * if required; <code>null</code> if none.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108 private ImageDescriptor defaultImageDescriptor = JFaceResources.getImageRegistry().getDescriptor(DEFAULT_IMAGE);
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 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111 * The color of the wizard title bar; <code>null</code> if none.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113 private RGB titleBarColor = null;
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 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
116 * The window title string for this wizard; <code>null</code> if none.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
118 private String windowTitle = null;
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 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 * The dialog settings for this wizard; <code>null</code> if none.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123 private IDialogSettings dialogSettings = null;
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 /**
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
126 * Creates a new empty wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
127 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
128 protected Wizard() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
129 super();
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
130 }
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 * 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
134 * page list.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
136 * @param page
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
137 * the new page
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
138 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139 public void addPage(IWizardPage page) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
140 pages.add(page);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
141 page.setWizard(this);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
142 }
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 * The <code>Wizard</code> implementation of this <code>IWizard</code>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
146 * method does nothing. Subclasses should extend if extra pages need to be
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
147 * added before the wizard opens. New pages should be added by calling
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
148 * <code>addPage</code>.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
149 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
150 public void addPages() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151 }
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
155 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
156 public bool canFinish() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
157 // Default implementation is to check if all pages are complete.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
158 for (int i = 0; i < pages.size(); i++) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
159 if (!((IWizardPage) pages.get(i)).isPageComplete()) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
160 return false;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
161 }
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 return true;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164 }
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 * The <code>Wizard</code> implementation of this <code>IWizard</code>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
168 * method creates all the pages controls using
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
169 * <code>IDialogPage.createControl</code>. Subclasses should reimplement
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170 * 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
171 * 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
172 * before attempting to show it.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
173 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
174 public void createPageControls(Composite pageContainer) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
175 // the default behavior is to create all the pages controls
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
176 for (int i = 0; i < pages.size(); i++) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
177 IWizardPage page = (IWizardPage) pages.get(i);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
178 page.createControl(pageContainer);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
179 // page is responsible for ensuring the created control is
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
180 // accessable
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
181 // via getControl.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
182 Assert.isNotNull(page.getControl());
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
183 }
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 * The <code>Wizard</code> implementation of this <code>IWizard</code>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
188 * method disposes all the pages controls using
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
189 * <code>DialogPage.dispose</code>. Subclasses should extend this method
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
190 * if the wizard instance maintains addition DWT resource that need to be
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
191 * disposed.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
192 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
193 public void dispose() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
194 // notify pages
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
195 for (int i = 0; i < pages.size(); i++) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
196 ((IWizardPage) pages.get(i)).dispose();
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
197 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
198 // dispose of image
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
199 if (defaultImage !is null) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
200 JFaceResources.getResources().destroyImage(defaultImageDescriptor);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
201 defaultImage = null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
202 }
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
207 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
208 public IWizardContainer getContainer() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
209 return container;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
210 }
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
214 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
215 public Image getDefaultPageImage() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
216 if (defaultImage is null) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
217 defaultImage = JFaceResources.getResources().createImageWithDefault(defaultImageDescriptor);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
218 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
219 return defaultImage;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
220 }
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
224 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
225 public IDialogSettings getDialogSettings() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
226 return dialogSettings;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
227 }
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 * (non-Javadoc) Method declared on IWizard. The default behavior is to
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
231 * 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
232 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
233 public IWizardPage getNextPage(IWizardPage page) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
234 int index = pages.indexOf(page);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
235 if (index is pages.size() - 1 || index is -1) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
236 // last page or page not found
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
237 return null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
238 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
239 return (IWizardPage) pages.get(index + 1);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
240 }
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
244 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
245 public IWizardPage getPage(String name) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
246 for (int i = 0; i < pages.size(); i++) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
247 IWizardPage page = (IWizardPage) pages.get(i);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
248 String pageName = page.getName();
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
249 if (pageName.equals(name)) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
250 return page;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
251 }
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 return null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
254 }
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
258 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
259 public int getPageCount() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
260 return pages.size();
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
261 }
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
265 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
266 public IWizardPage[] getPages() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
267 return (IWizardPage[]) pages.toArray(new IWizardPage[pages.size()]);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
268 }
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 * (non-Javadoc) Method declared on IWizard. The default behavior is to
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
272 * 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
273 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
274 public IWizardPage getPreviousPage(IWizardPage page) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
275 int index = pages.indexOf(page);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
276 if (index is 0 || index is -1) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
277 // first page or page not found
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
278 return null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
279 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
280 return (IWizardPage) pages.get(index - 1);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
281 }
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 * Returns the wizard's shell if the wizard is visible. Otherwise
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
285 * <code>null</code> is returned.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
286 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
287 * @return Shell
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
288 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
289 public Shell getShell() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
290 if (container is null) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
291 return null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
292 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
293 return container.getShell();
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
294 }
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 * (non-Javadoc) Method declared on IWizard. By default this is the first
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
298 * page inserted into the wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
299 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
300 public IWizardPage getStartingPage() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
301 if (pages.size() is 0) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
302 return null;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
303 }
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
304 return (IWizardPage) pages.get(0);
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
305 }
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
309 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
310 public RGB getTitleBarColor() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
311 return titleBarColor;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
312 }
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
316 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
317 public String getWindowTitle() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
318 return windowTitle;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
319 }
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
323 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
324 public bool isHelpAvailable() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
325 return isHelpAvailable;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
326 }
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
330 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
331 public bool needsPreviousAndNextButtons() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
332 return forcePreviousAndNextButtons || pages.size() > 1;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
333 }
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
337 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
338 public bool needsProgressMonitor() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
339 return needsProgressMonitor;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
340 }
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 * The <code>Wizard</code> implementation of this <code>IWizard</code>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
344 * method does nothing and returns <code>true</code>. Subclasses should
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
345 * reimplement this method if they need to perform any special cancel
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
346 * processing for their wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
347 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
348 public bool performCancel() {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
349 return true;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
350 }
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 * Subclasses must implement this <code>IWizard</code> method to perform
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
354 * any special finish processing for their wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
355 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
356 public abstract bool performFinish();
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
357
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 * (non-Javadoc) Method declared on IWizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
360 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
361 public void setContainer(IWizardContainer wizardContainer) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
362 container = wizardContainer;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
363 }
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 * Sets the default page image descriptor for this wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
367 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
368 * 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
369 * 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
370 * </p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
371 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
372 * @param imageDescriptor
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
373 * the default page image descriptor
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
374 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
375 public void setDefaultPageImageDescriptor(ImageDescriptor imageDescriptor) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
376 defaultImageDescriptor = imageDescriptor;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
377 }
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 * Sets the dialog settings for this wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
381 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
382 * The dialog settings is used to record state between wizard invocations
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
383 * (for example, radio button selection, last import directory, etc.)
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
384 * </p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
385 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
386 * @param settings
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
387 * the dialog settings, or <code>null</code> if none
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
388 * @see #getDialogSettings
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
389 *
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 public void setDialogSettings(IDialogSettings settings) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
392 dialogSettings = settings;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
393 }
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 * Controls whether the wizard needs Previous and Next buttons even if it
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
397 * currently contains only one page.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
398 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
399 * 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
400 * follow-on wizard pages based on user input.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
401 * </p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
402 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
403 * @param b
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
404 * <code>true</code> to always show Next and Previous buttons,
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
405 * and <code>false</code> to suppress Next and Previous buttons
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
406 * for single page wizards
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
407 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
408 public void setForcePreviousAndNextButtons(bool b) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
409 forcePreviousAndNextButtons = b;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
410 }
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 * Sets whether help is available for this wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
414 * <p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
415 * 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
416 * hide the Help button.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
417 * </p>
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
418 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
419 * @param b
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
420 * <code>true</code> if help is available, and
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
421 * <code>false</code> if this wizard is helpless
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
422 * @see #isHelpAvailable()
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
423 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
424 public void setHelpAvailable(bool b) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
425 isHelpAvailable = b;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
426 }
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 * Sets whether this wizard needs a progress monitor.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
430 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
431 * @param b
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
432 * <code>true</code> if a progress monitor is required, and
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
433 * <code>false</code> if none is needed
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
434 * @see #needsProgressMonitor()
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
435 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
436 public void setNeedsProgressMonitor(bool b) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
437 needsProgressMonitor = b;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
438 }
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 * Sets the title bar color for this wizard.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
442 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
443 * @param color
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
444 * the title bar color
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
445 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
446 public void setTitleBarColor(RGB color) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
447 titleBarColor = color;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
448 }
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 * 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
452 * string.
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
453 *
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
454 * @param newTitle
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
455 * the window title for the container
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
456 */
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
457 public void setWindowTitle(String newTitle) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
458 windowTitle = newTitle;
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
459 if (container !is null) {
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
460 container.updateWindowTitle();
6c14e54dfc11 completed /jface/resource/
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
461 }
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 ++/