annotate org.eclipse.jface.snippets/EclipseJfaceSnippets/org/eclipse/jface/snippets/wizard/Snippet047WizardWithLongRunningOperation.d @ 34:a8a838017920

All JFace snippets build on windows
author Frank Benoit <benoit@tionex.de>
date Mon, 23 Mar 2009 15:06:06 +0100
parents c4b36186a9bc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /*******************************************************************************
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 * Copyright (c) 2005, 2007 IBM Corporation and others.
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 * All rights reserved. This program and the accompanying materials
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 * are made available under the terms of the Eclipse Public License v1.0
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 * which accompanies this distribution, and is available at
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 * http://www.eclipse.org/legal/epl-v10.html
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 *
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 * Contributors:
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 * IBM Corporation - initial API and implementation
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 * Port to the D programming language:
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 * Frank Benoit <benoit@tionex.de>
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 *******************************************************************************/
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13 module jface.snippets.wizard.Snippet047WizardWithLongRunningOperation;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
15 import org.eclipse.jface.viewers.ArrayContentProvider;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
16 import org.eclipse.jface.viewers.ISelectionChangedListener;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
17 import org.eclipse.jface.viewers.SelectionChangedEvent;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
18 import org.eclipse.jface.viewers.TableViewer;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
19 import org.eclipse.jface.wizard.IWizardPage;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
20 import org.eclipse.jface.wizard.Wizard;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
21 import org.eclipse.jface.wizard.WizardDialog;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
22 import org.eclipse.jface.wizard.WizardPage;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
23 import org.eclipse.swt.SWT;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
24 import org.eclipse.swt.events.SelectionAdapter;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
25 import org.eclipse.swt.events.SelectionEvent;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
26 import org.eclipse.swt.layout.FillLayout;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
27 import org.eclipse.swt.layout.GridData;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
28 import org.eclipse.swt.layout.GridLayout;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
29 import org.eclipse.swt.widgets.Button;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
30 import org.eclipse.swt.widgets.Composite;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
31 import org.eclipse.swt.widgets.Display;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
32 import org.eclipse.swt.widgets.Label;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
33 import org.eclipse.swt.widgets.ProgressBar;
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
34 import org.eclipse.swt.widgets.Shell;
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 32
diff changeset
35 import org.eclipse.jface.operation.IRunnableWithProgress;
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
36 import java.lang.all;
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 32
diff changeset
37 import java.util.ArrayList;
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
38
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
39 import java.lang.Thread;
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 import tango.text.convert.Format;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
42 import org.eclipse.jface.operation.ModalContext;
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 /**
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 * Example how to load data from a background thread into a TableViewer
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 *
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 * @author Tom Schindl <tom.schindl@bestsolution.at>
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 * @since 1.0
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 */
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 public class Snippet047WizardWithLongRunningOperation {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 private static class MyWizard : Wizard {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 private int loadingType;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 public this(int loadingType) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 this.loadingType = loadingType;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 /*
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 * (non-Javadoc)
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 *
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
63 * @see org.eclipse.jface.wizard.Wizard#addPages()
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64 */
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 public void addPages() {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 addPage(new MyWizardPageThread("Thread Page", loadingType));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 addPage(new MyWizardPage("Standard Page"));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 public bool performFinish() {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 return true;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 /*
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 * (non-Javadoc)
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 *
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
77 * @see org.eclipse.jface.wizard.Wizard#canFinish()
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78 */
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79 public bool canFinish() {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80 IWizardPage[] pages = getPages();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
81 for (int i = 0; i < pages.length; i++) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82 if (!pages[i].isPageComplete()) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
83 return false;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
84 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
85 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
86
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
87 return true;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90 };
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92 private static class MyWizardPage : WizardPage {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94 protected this(String pageName) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 super(pageName);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 setTitle(pageName);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
97 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 public /+override+/ void createControl(Composite parent) {
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
100 Composite comp = new Composite(parent, SWT.NONE);
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 setControl(comp);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 private static class MyWizardPageThread : WizardPage {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 private int loadingType;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 private bool loading = true;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108 private TableViewer v;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
109
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
110 protected this(String pageName, int loadingType) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111 super(pageName);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 this.loadingType = loadingType;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113 setTitle(pageName);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
115
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
116 public /+override+/ void createControl(Composite parent) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 auto mt = new MyThread();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
118 mt.parent = parent;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
119
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
120 mt.comp = new Composite(parent, SWT.NONE);
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 mt.comp.setLayout(new GridLayout(1, false));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
123 v = new TableViewer(mt.comp, SWT.FULL_SELECTION);
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
124 v.setContentProvider(new ArrayContentProvider!(Object)());
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
125 v.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
126 v.addSelectionChangedListener(new class ISelectionChangedListener {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
127
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
128 public void selectionChanged(SelectionChangedEvent event) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
129 getWizard().getContainer().updateButtons();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
130 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
131
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
132 });
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
133
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
134 mt.barContainer = new Composite(mt.comp, SWT.NONE);
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135 mt.barContainer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
136 mt.barContainer.setLayout(new GridLayout(2, false));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
137
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
138 Label l = new Label(mt.barContainer, SWT.NONE);
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139 l.setText("Loading Data");
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
140
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
141 mt.bar = new ProgressBar(mt.barContainer,
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
142 (loadingType == 1) ? SWT.INDETERMINATE : SWT.NONE);
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
143 mt.bar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
144
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
145 if (loadingType == 2) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
146 mt.bar.setMaximum(10);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
147 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
148
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
149 setControl(mt.comp);
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 32
diff changeset
150 dialog.run( true, true, dgIRunnableWithProgress(&mt.threadWork));
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
152 class MyThread {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
153 private Composite parent;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
154 private Composite barContainer;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
155 private Composite comp;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
156 private ProgressBar bar;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
157
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
158 private void threadWork(){
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
159 if (loadingType == 1) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
160 try {
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
161 Thread.sleep(10_000);
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
162 ArrayList ms = new ArrayList();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
163 for (int i = 0; i < 10; i++) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164 ms.add(new MyModel(i));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
166
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
167 if (v.getTable().isDisposed()) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
168 return;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
169 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
171 parent.getDisplay().asyncExec(dgRunnable((ArrayList ms_){
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
172 v.setInput(ms_);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
173 (cast(GridData) barContainer.getLayoutData()).exclude = true;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
174 comp.layout(true);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
175 }, ms ));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
176 } catch (InterruptedException e) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
177 // TODO Auto-generated catch block
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
178 ExceptionPrintStackTrace(e);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
179 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
180 } else {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
181 ArrayList ms = new ArrayList();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
182 parent.getDisplay().syncExec( dgRunnable( (ArrayList ms_){
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
183 v.setInput(ms_);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
184 }, ms ));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
185
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
186 for (int i = 0; i < 10; i++) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
187 int j = i;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
188 if (v.getTable().isDisposed()) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
189 return;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
190 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
191 parent.getDisplay().asyncExec( dgRunnable( (int j_){
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
192 MyModel tmp = new MyModel(j_);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
193 v.add(tmp);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
194 ms.add(tmp);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
195 bar.setSelection(j_ + 1);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
196 }, j ));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
197
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
198 try {
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
199 Thread.sleep(1_000);
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
200 } catch (InterruptedException e) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
201 // TODO Auto-generated catch block
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
202 ExceptionPrintStackTrace(e);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
203 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
204 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
205
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
206 parent.getDisplay().asyncExec(dgRunnable( {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
207
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
208 (cast(GridData) barContainer.getLayoutData()).exclude = true;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
209 comp.layout(true);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
210 }));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
211 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
212
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
213 parent.getDisplay().syncExec(dgRunnable( {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
214 loading = false;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
215 getWizard().getContainer().updateButtons();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
216 }));
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
217 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
218 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
219 public bool isPageComplete() {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
220 return !loading && !v.getSelection().isEmpty();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
221 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
222
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
223 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
224
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
225 private static class MyModel {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
226 private int index;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
227
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
228 public this(int index) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
229 this.index = index;
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
230 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
231
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
232 public String toString() {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
233 return Format("Item-{}", index);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
234 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
235 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
236
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
237 static Shell shell;
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 32
diff changeset
238 static WizardDialog dialog;
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
239 public static void main(String[] args) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
240 Display display = new Display();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
241
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
242 shell = new Shell(display);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
243 shell.setLayout(new FillLayout());
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
244
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
245 Button b = new Button(shell, SWT.PUSH);
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
246 b.setText("Load in one Chunk");
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
247 b.addSelectionListener(new class SelectionAdapter {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
248
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
249 public void widgetSelected(SelectionEvent e) {
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 32
diff changeset
250 dialog = new WizardDialog(shell, new MyWizard(1));
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
251 dialog.open();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
252 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
253
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
254 });
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
255
32
c4b36186a9bc Renamings
Frank Benoit <benoit@tionex.de>
parents: 31
diff changeset
256 b = new Button(shell, SWT.PUSH);
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
257 b.setText("Load Item by Item");
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
258 b.addSelectionListener(new class SelectionAdapter {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
259
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
260 public void widgetSelected(SelectionEvent e) {
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 32
diff changeset
261 dialog = new WizardDialog(shell, new MyWizard(2));
31
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
262 dialog.open();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
263 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
264
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
265 });
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
266
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
267 shell.open();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
268
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
269 while (!shell.isDisposed()) {
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
270 if (!display.readAndDispatch())
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
271 display.sleep();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
272 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
273
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
274 display.dispose();
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
275 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
276 }
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
277
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
278 void main(){
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
279 Snippet047WizardWithLongRunningOperation.main(null);
5d87d4191adf Added JFace Snippets sources
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
280 }