]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/browser/SCLDefinitionSelectionDialog.java
Externalize strings in org.simantics.scl.ui
[simantics/platform.git] / bundles / org.simantics.scl.ui / src / org / simantics / scl / ui / browser / SCLDefinitionSelectionDialog.java
index 432bab6818f506957f8edda4a03342439f827f6d..8b8896d24e6870dd85cdf67bad2869491d02b0df 100644 (file)
-package org.simantics.scl.ui.browser;\r
-\r
-import java.util.Comparator;\r
-\r
-import org.eclipse.core.runtime.CoreException;\r
-import org.eclipse.core.runtime.IProgressMonitor;\r
-import org.eclipse.core.runtime.IStatus;\r
-import org.eclipse.core.runtime.Status;\r
-import org.eclipse.jface.dialogs.IDialogSettings;\r
-import org.eclipse.jface.viewers.LabelProvider;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Control;\r
-import org.eclipse.swt.widgets.Shell;\r
-import org.eclipse.ui.IMemento;\r
-import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog;\r
-import org.eclipse.ui.dialogs.SearchPattern;\r
-import org.simantics.scl.compiler.common.names.Name;\r
-import org.simantics.scl.compiler.elaboration.modules.SCLValue;\r
-import org.simantics.scl.compiler.module.repository.ModuleRepositories;\r
-import org.simantics.scl.compiler.types.Types;\r
-import org.simantics.scl.osgi.SCLOsgi;\r
-import org.simantics.scl.ui.Activator;\r
-\r
-public class SCLDefinitionSelectionDialog extends FilteredItemsSelectionDialog {\r
-    private static final String DIALOG_SETTINGS = "SCLDefinitionSelectionDialogSettings";\r
-\r
-    public SCLDefinitionSelectionDialog(Shell shell) {\r
-        super(shell, false);\r
-        setTitle("Choose an SCL definition");\r
-        setSelectionHistory(new DefinitionSelectionHistory());\r
-        setListLabelProvider(new LabelProvider() {\r
-            @Override\r
-            public String getText(Object element) {\r
-                if(element instanceof String)\r
-                    return (String)element;\r
-                SCLValue value = (SCLValue)element;\r
-                if(element == null)\r
-                    return "";\r
-                Name name = value.getName();\r
-                return name.name + " (" + name.module + ") :: " + value.getType();\r
-            }\r
-        });\r
-    }\r
-\r
-    private class DefinitionSelectionHistory extends SelectionHistory {\r
-        protected Object restoreItemFromMemento(IMemento element) {\r
-            //return element.getString("resource"); //$NON-NLS-1$\r
-            return null;\r
-        }\r
-        protected void storeItemToMemento(Object item, IMemento element) {\r
-            //element.putString("resource", item.toString()); //$NON-NLS-1$\r
-        }\r
-    }\r
-\r
-    @Override\r
-    protected Control createExtendedContentArea(Composite parent) {\r
-        return null;\r
-    }\r
-\r
-    protected IDialogSettings getDialogSettings() {\r
-         IDialogSettings settings = Activator.getInstance().getDialogSettings().getSection(DIALOG_SETTINGS);\r
-         if (settings == null)\r
-             settings = Activator.getInstance().getDialogSettings().addNewSection(DIALOG_SETTINGS);\r
-         return settings;\r
-    }\r
-\r
-    @Override\r
-    protected IStatus validateItem(Object item) {\r
-        return Status.OK_STATUS;\r
-    }\r
-\r
-    @Override\r
-    protected ItemsFilter createFilter() {\r
-        return new ItemsFilter() {\r
-            {\r
-                String patternText = getPattern();\r
-                patternMatcher = new SearchPattern();\r
-                if(patternText != null && patternText.length() > 0)\r
-                    patternMatcher.setPattern(patternText);\r
-                else \r
-                    patternMatcher.setPattern("*");\r
-            }\r
-            \r
-            @Override\r
-            public boolean matchItem(Object item) {\r
-                String text = item.toString();\r
-                if(getPattern().contains("/"))\r
-                    return matches(text);\r
-                else {\r
-                    int p = text.lastIndexOf('/');\r
-                    if(p >= 0)\r
-                        text = text.substring(p+1);\r
-                    return matches(text);\r
-                }\r
-            }\r
-\r
-            @Override\r
-            public boolean isConsistentItem(Object item) {\r
-                return true;\r
-            }\r
-            \r
-        };\r
-    }\r
-\r
-    @SuppressWarnings("rawtypes")\r
-    @Override\r
-    protected Comparator getItemsComparator() {\r
-        return new Comparator() {\r
-            public int compare(Object arg0, Object arg1) {\r
-                SCLValue a = (SCLValue)arg0;\r
-                SCLValue b = (SCLValue)arg1;\r
-                int cmp = a.getName().name.compareTo(b.getName().name);\r
-                if(cmp != 0)\r
-                    return cmp;\r
-                return a.getName().module.compareTo(b.getName().module);\r
-            }\r
-        };\r
-    }\r
-\r
-    @Override\r
-    protected void fillContentProvider(AbstractContentProvider contentProvider,\r
-            ItemsFilter itemsFilter, IProgressMonitor progressMonitor)\r
-                    throws CoreException {\r
-        progressMonitor.beginTask("Searching", 1); //$NON-NLS-1$\r
-        for(SCLValue value : ModuleRepositories.allValues(SCLOsgi.MODULE_REPOSITORY)) {\r
-            if(isTupleValue(value.getName()))\r
-                continue;\r
-            contentProvider.add(value, itemsFilter);\r
-        }\r
-        progressMonitor.worked(1);\r
-        progressMonitor.done();\r
-    }\r
-\r
-    private boolean isTupleValue(Name name) {\r
-        return name.module.equals(Types.BUILTIN) && name.name.startsWith("(") &&\r
-                (name.name.equals("()") || name.name.charAt(1) == ',');\r
-    }\r
-\r
-    @Override\r
-    public String getElementName(Object item) {\r
-        return item.toString();\r
-    }\r
-\r
-}\r
+package org.simantics.scl.ui.browser;
+
+import java.util.Comparator;
+
+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.IDialogSettings;
+import org.eclipse.jface.viewers.LabelProvider;
+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.common.names.Name;
+import org.simantics.scl.compiler.elaboration.modules.SCLValue;
+import org.simantics.scl.compiler.module.repository.ModuleRepositories;
+import org.simantics.scl.compiler.types.Types;
+import org.simantics.scl.osgi.SCLOsgi;
+import org.simantics.scl.ui.Activator;
+
+public class SCLDefinitionSelectionDialog extends FilteredItemsSelectionDialog {
+    private static final String DIALOG_SETTINGS = "SCLDefinitionSelectionDialogSettings"; //$NON-NLS-1$
+
+    public SCLDefinitionSelectionDialog(Shell shell) {
+        super(shell, false);
+        setTitle(Messages.SCLDefinitionSelectionDialog_ChooseSCLDefinition);
+        setSelectionHistory(new DefinitionSelectionHistory());
+        setListLabelProvider(new LabelProvider() {
+            @Override
+            public String getText(Object element) {
+                if(element instanceof String)
+                    return (String)element;
+                SCLValue value = (SCLValue)element;
+                if(element == null)
+                    return ""; //$NON-NLS-1$
+                Name name = value.getName();
+                return name.name + " (" + name.module + ") :: " + value.getType(); //$NON-NLS-1$ //$NON-NLS-2$
+            }
+        });
+    }
+
+    private class DefinitionSelectionHistory extends SelectionHistory {
+        protected Object restoreItemFromMemento(IMemento element) {
+            //return element.getString("resource"); //$NON-NLS-1$
+            return null;
+        }
+        protected void storeItemToMemento(Object item, IMemento element) {
+            //element.putString("resource", item.toString()); //$NON-NLS-1$
+        }
+    }
+
+    @Override
+    protected Control createExtendedContentArea(Composite parent) {
+        return null;
+    }
+
+    protected IDialogSettings getDialogSettings() {
+         IDialogSettings settings = Activator.getInstance().getDialogSettings().getSection(DIALOG_SETTINGS);
+         if (settings == null)
+             settings = Activator.getInstance().getDialogSettings().addNewSection(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("*"); //$NON-NLS-1$
+            }
+            
+            @Override
+            public boolean matchItem(Object item) {
+                String text = item.toString();
+                if(getPattern().contains("/")) //$NON-NLS-1$
+                    return matches(text);
+                else {
+                    int p = text.lastIndexOf('/');
+                    if(p >= 0)
+                        text = text.substring(p+1);
+                    return matches(text);
+                }
+            }
+
+            @Override
+            public boolean isConsistentItem(Object item) {
+                return true;
+            }
+            
+        };
+    }
+
+    @SuppressWarnings("rawtypes")
+    @Override
+    protected Comparator getItemsComparator() {
+        return new Comparator() {
+            public int compare(Object arg0, Object arg1) {
+                SCLValue a = (SCLValue)arg0;
+                SCLValue b = (SCLValue)arg1;
+                int cmp = a.getName().name.compareTo(b.getName().name);
+                if(cmp != 0)
+                    return cmp;
+                return a.getName().module.compareTo(b.getName().module);
+            }
+        };
+    }
+
+    @Override
+    protected void fillContentProvider(AbstractContentProvider contentProvider,
+            ItemsFilter itemsFilter, IProgressMonitor progressMonitor)
+                    throws CoreException {
+        progressMonitor.beginTask("Searching", 1); //$NON-NLS-1$
+        for(SCLValue value : ModuleRepositories.allValues(SCLOsgi.MODULE_REPOSITORY)) {
+            if(isTupleValue(value.getName()))
+                continue;
+            contentProvider.add(value, itemsFilter);
+        }
+        progressMonitor.worked(1);
+        progressMonitor.done();
+    }
+
+    private boolean isTupleValue(Name name) {
+        return name.module.equals(Types.BUILTIN) && name.name.startsWith("(") && //$NON-NLS-1$
+                (name.name.equals("()") || name.name.charAt(1) == ','); //$NON-NLS-1$
+    }
+
+    @Override
+    public String getElementName(Object item) {
+        return item.toString();
+    }
+
+}