X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.ui%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fui%2Ftests%2FSCLTestsDialog.java;fp=bundles%2Forg.simantics.scl.ui%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fui%2Ftests%2FSCLTestsDialog.java;h=75e6e836e539aaea4e7b5069766765bbc5310cdb;hb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;hp=7b57e767c9ab879448e672eaeb7dc02e601b0210;hpb=24e2b34260f219f0d1644ca7a138894980e25b14;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/tests/SCLTestsDialog.java b/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/tests/SCLTestsDialog.java index 7b57e767c..75e6e836e 100644 --- a/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/tests/SCLTestsDialog.java +++ b/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/tests/SCLTestsDialog.java @@ -1,160 +1,160 @@ -package org.simantics.scl.ui.tests; - -import java.util.Comparator; -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IMemento; -import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog; -import org.eclipse.ui.dialogs.SearchPattern; -import org.simantics.scl.compiler.testing.TestRunnable; -import org.simantics.scl.ui.Activator; - -public class SCLTestsDialog extends FilteredItemsSelectionDialog { - - private static final String SCL_TEST_DIALOG_SETTINGS = "SCLTestDialogSettings"; - - private List tests; - - public SCLTestsDialog(Shell shell, List tests, boolean multi) { - super(shell, multi); - this.tests = tests; - setTitle("Run SCL Tests"); - setListLabelProvider(new LabelProvider() { - - @Override - public String getText(Object element) { - if (element != null) - return ((TestRunnable) element).getName(); - return "No name!"; - } - }); - setSelectionHistory(new ResourceSelectionHistory()); - } - - private class ResourceSelectionHistory extends SelectionHistory { - /* - * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.SelectionHistory#restoreItemFromMemento(org.eclipse.ui.IMemento) - */ - protected Object restoreItemFromMemento(IMemento element) { - String testName = element.getString("test"); //$NON-NLS-1$ - return findTestByName(testName); - } - /* - * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.SelectionHistory#storeItemToMemento(java.lang.Object, - * org.eclipse.ui.IMemento) - */ - protected void storeItemToMemento(Object item, IMemento element) { - TestRunnable runnable = (TestRunnable) item; - element.putString("test", runnable.getName()); //$NON-NLS-1$ - } - } - - private TestRunnable findTestByName(String name) { - for (TestRunnable runnable : tests) { - if (runnable.getName().equals(name)) - return runnable; - } - return null; - } - - @Override - protected Control createExtendedContentArea(Composite parent) { - // TODO Auto-generated method stub - return null; - } - - @Override - protected void createButtonsForButtonBar(Composite parent) { - super.createButtonsForButtonBar(parent); - Button okButton = getButton(IDialogConstants.OK_ID); - okButton.setText("Run test"); - setButtonLayoutData(okButton); - } - - @Override - protected IDialogSettings getDialogSettings() { - IDialogSettings settings = Activator.getInstance().getDialogSettings() - .getSection(SCL_TEST_DIALOG_SETTINGS); - if (settings == null) { - settings = Activator.getInstance().getDialogSettings() - .addNewSection(SCL_TEST_DIALOG_SETTINGS); - } - return settings; - } - - @Override - protected IStatus validateItem(Object item) { - return Status.OK_STATUS; - } - - @Override - protected ItemsFilter createFilter() { - return new ItemsFilter() { - { - String patternText = getPattern(); - patternMatcher = new SearchPattern(); - if(patternText != null && patternText.length() > 0) - patternMatcher.setPattern(patternText); - else - patternMatcher.setPattern("**"); - } - @Override - public boolean matchItem(Object item) { - String testName = ((TestRunnable) item).getName(); - if(getPattern().indexOf('/') > 0) - return matches(testName); - else { - for(String part : (testName.split("/"))) - if(matches(part)) - return true; - return false; - } - } - - @Override - public boolean isConsistentItem(Object item) { - return true; - } - }; - } - - Comparator comparator = new Comparator() { - @Override - public int compare(TestRunnable o1, TestRunnable o2) { - return o1.getName().compareTo(o2.getName()); - } - }; - - @Override - protected Comparator getItemsComparator() { - return comparator; - } - - @Override - protected void fillContentProvider(AbstractContentProvider contentProvider, - ItemsFilter itemsFilter, IProgressMonitor progressMonitor) - throws CoreException { - progressMonitor.beginTask("Searching tests..", tests.size()); - for (TestRunnable test : tests) { - contentProvider.add(test, itemsFilter); - progressMonitor.worked(1); - } - progressMonitor.done(); - } - - @Override - public String getElementName(Object item) { - return ((TestRunnable) item).getName(); - } -} +package org.simantics.scl.ui.tests; + +import java.util.Comparator; +import java.util.List; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IMemento; +import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog; +import org.eclipse.ui.dialogs.SearchPattern; +import org.simantics.scl.compiler.testing.TestRunnable; +import org.simantics.scl.ui.Activator; + +public class SCLTestsDialog extends FilteredItemsSelectionDialog { + + private static final String SCL_TEST_DIALOG_SETTINGS = "SCLTestDialogSettings"; + + private List tests; + + public SCLTestsDialog(Shell shell, List tests, boolean multi) { + super(shell, multi); + this.tests = tests; + setTitle("Run SCL Tests"); + setListLabelProvider(new LabelProvider() { + + @Override + public String getText(Object element) { + if (element != null) + return ((TestRunnable) element).getName(); + return "No name!"; + } + }); + setSelectionHistory(new ResourceSelectionHistory()); + } + + private class ResourceSelectionHistory extends SelectionHistory { + /* + * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.SelectionHistory#restoreItemFromMemento(org.eclipse.ui.IMemento) + */ + protected Object restoreItemFromMemento(IMemento element) { + String testName = element.getString("test"); //$NON-NLS-1$ + return findTestByName(testName); + } + /* + * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.SelectionHistory#storeItemToMemento(java.lang.Object, + * org.eclipse.ui.IMemento) + */ + protected void storeItemToMemento(Object item, IMemento element) { + TestRunnable runnable = (TestRunnable) item; + element.putString("test", runnable.getName()); //$NON-NLS-1$ + } + } + + private TestRunnable findTestByName(String name) { + for (TestRunnable runnable : tests) { + if (runnable.getName().equals(name)) + return runnable; + } + return null; + } + + @Override + protected Control createExtendedContentArea(Composite parent) { + // TODO Auto-generated method stub + return null; + } + + @Override + protected void createButtonsForButtonBar(Composite parent) { + super.createButtonsForButtonBar(parent); + Button okButton = getButton(IDialogConstants.OK_ID); + okButton.setText("Run test"); + setButtonLayoutData(okButton); + } + + @Override + protected IDialogSettings getDialogSettings() { + IDialogSettings settings = Activator.getInstance().getDialogSettings() + .getSection(SCL_TEST_DIALOG_SETTINGS); + if (settings == null) { + settings = Activator.getInstance().getDialogSettings() + .addNewSection(SCL_TEST_DIALOG_SETTINGS); + } + return settings; + } + + @Override + protected IStatus validateItem(Object item) { + return Status.OK_STATUS; + } + + @Override + protected ItemsFilter createFilter() { + return new ItemsFilter() { + { + String patternText = getPattern(); + patternMatcher = new SearchPattern(); + if(patternText != null && patternText.length() > 0) + patternMatcher.setPattern(patternText); + else + patternMatcher.setPattern("**"); + } + @Override + public boolean matchItem(Object item) { + String testName = ((TestRunnable) item).getName(); + if(getPattern().indexOf('/') > 0) + return matches(testName); + else { + for(String part : (testName.split("/"))) + if(matches(part)) + return true; + return false; + } + } + + @Override + public boolean isConsistentItem(Object item) { + return true; + } + }; + } + + Comparator comparator = new Comparator() { + @Override + public int compare(TestRunnable o1, TestRunnable o2) { + return o1.getName().compareTo(o2.getName()); + } + }; + + @Override + protected Comparator getItemsComparator() { + return comparator; + } + + @Override + protected void fillContentProvider(AbstractContentProvider contentProvider, + ItemsFilter itemsFilter, IProgressMonitor progressMonitor) + throws CoreException { + progressMonitor.beginTask("Searching tests..", tests.size()); + for (TestRunnable test : tests) { + contentProvider.add(test, itemsFilter); + progressMonitor.worked(1); + } + progressMonitor.done(); + } + + @Override + public String getElementName(Object item) { + return ((TestRunnable) item).getName(); + } +}