Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(406)

Unified Diff: editor/tools/plugins/com.google.dart.eclipse.ui/src/com/google/dart/eclipse/wizards/SamplesComposite.java

Issue 658743004: Move the Editor and Eclipse plugins over to using stagehand for the new project templates. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.eclipse.ui/src/com/google/dart/eclipse/wizards/SamplesComposite.java
===================================================================
--- editor/tools/plugins/com.google.dart.eclipse.ui/src/com/google/dart/eclipse/wizards/SamplesComposite.java (revision 41289)
+++ editor/tools/plugins/com.google.dart.eclipse.ui/src/com/google/dart/eclipse/wizards/SamplesComposite.java (working copy)
@@ -15,17 +15,20 @@
import com.google.dart.tools.core.generator.AbstractSample;
import com.google.dart.tools.ui.DartToolsPlugin;
+import com.google.dart.tools.ui.internal.projects.SamplesLabelProvider;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.ListViewer;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -34,27 +37,33 @@
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
import java.util.List;
class SamplesComposite extends Composite {
- static final String NEW_APPPLICATION_SETTINGS = "newApplicationWizard.settings"; //$NON-NLS-1$
+ private static final String NEW_APPPLICATION_SETTINGS = "newApplicationWizard.settings"; //$NON-NLS-1$
private static final String CONTENT_GENERATION_DISABLED = "contentGenerationDisabled"; //$NON-NLS-1$
+ private WizardPage page;
private Button addSampleContentCheckbox;
- private ListViewer samplesListViewer;
+ private TableViewer samplesViewer;
- public SamplesComposite(Composite parent, int style) {
+ public SamplesComposite(WizardPage page, Composite parent, int style) {
super(parent, style);
+ this.page = page;
+
initialize();
}
protected AbstractSample getCurrentSample() {
if (addSampleContentCheckbox.getSelection()) {
- IStructuredSelection selection = (IStructuredSelection) samplesListViewer.getSelection();
+ IStructuredSelection selection = (IStructuredSelection) samplesViewer.getSelection();
if (selection.isEmpty()) {
return null;
@@ -67,7 +76,6 @@
}
private void createSampleGroup() {
-
Group contentGroup = new Group(this, SWT.NONE);
contentGroup.setText("Sample content");
GridDataFactory.fillDefaults().span(3, 1).grab(true, false).applyTo(contentGroup);
@@ -90,22 +98,28 @@
Label spacer = new Label(contentGroup, SWT.SEPARATOR | SWT.HORIZONTAL);
GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.CENTER).applyTo(spacer);
- samplesListViewer = new ListViewer(contentGroup);
- samplesListViewer.setLabelProvider(new LabelProvider());
- samplesListViewer.setContentProvider(new ArrayContentProvider());
- List<AbstractSample> samples = AbstractSample.getAllSamples();
- samplesListViewer.setInput(samples);
- GridDataFactory.fillDefaults().hint(-1, 60).grab(true, false).align(SWT.FILL, SWT.CENTER).applyTo(
- samplesListViewer.getControl());
- samplesListViewer.setSelection(new StructuredSelection(getDefaultSample(samples)));
- samplesListViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+ samplesViewer = new TableViewer(contentGroup, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER
+ | SWT.FULL_SELECTION);
+ samplesViewer.setLabelProvider(new SamplesLabelProvider());
+ samplesViewer.setContentProvider(new ArrayContentProvider());
+ samplesViewer.setInput(new ArrayList<AbstractSample>());
+ GridDataFactory.fillDefaults().hint(300, 90).grab(true, false).align(SWT.FILL, SWT.CENTER).applyTo(
+ samplesViewer.getControl());
+ samplesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
updateMessageAndEnablement();
}
});
- samplesListViewer.getList().setEnabled(addSampleContentCheckbox.getSelection());
+ samplesViewer.getTable().setEnabled(addSampleContentCheckbox.getSelection());
+
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ populateSamplesList();
+ }
+ });
}
private AbstractSample getDefaultSample(List<AbstractSample> samples) {
@@ -148,9 +162,32 @@
setSize(new Point(449, 311));
}
+ private void populateSamplesList() {
+ try {
+ page.getWizard().getContainer().run(true, false, new IRunnableWithProgress() {
+ @Override
+ public void run(IProgressMonitor monitor) throws InvocationTargetException,
+ InterruptedException {
+ monitor.beginTask("", IProgressMonitor.UNKNOWN);
+ final List<AbstractSample> samples = AbstractSample.getAllSamples();
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ samplesViewer.setInput(samples);
+ samplesViewer.setSelection(new StructuredSelection(getDefaultSample(samples)));
+ }
+ });
+ monitor.done();
+ }
+ });
+ } catch (InvocationTargetException e) {
+ DartToolsPlugin.log(e);
+ } catch (InterruptedException e) {
+ DartToolsPlugin.log(e);
+ }
+ }
+
private void updateMessageAndEnablement() {
-
- samplesListViewer.getList().setEnabled(addSampleContentCheckbox.getSelection());
+ samplesViewer.getTable().setEnabled(addSampleContentCheckbox.getSelection());
}
-
}

Powered by Google App Engine
This is Rietveld 408576698