]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.ui/src/org/simantics/ui/workbench/dialogs/ResourceSelectionDialog.java
Remove usage of deprecated SimanticsUI-methods
[simantics/platform.git] / bundles / org.simantics.ui / src / org / simantics / ui / workbench / dialogs / ResourceSelectionDialog.java
index 96d8cf789072d6ef438a9c8feb5d3eb3d8fe9a14..8633c8c9a67b0feeca302cb40b1a160dce3be3b9 100644 (file)
-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- *     VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.ui.workbench.dialogs;\r
-\r
-import java.util.Comparator;\r
-import java.util.Map;\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.ILabelProvider;\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.db.Resource;\r
-import org.simantics.db.exception.InvalidResourceReferenceException;\r
-import org.simantics.db.service.SerialisationSupport;\r
-import org.simantics.ui.SimanticsUI;\r
-\r
-public abstract class ResourceSelectionDialog<T> extends FilteredItemsSelectionDialog {\r
-\r
-    Map<T, String> nameMap;\r
-    String         title;      \r
-    \r
-    class ResourceSelectionHistory extends FilteredItemsSelectionDialog.SelectionHistory {\r
-\r
-        @Override\r
-        protected Object restoreItemFromMemento(IMemento memento) {\r
-            // FIXME: somehow create a collective transaction inside which the Graph.getRandomAccessReference should be invoked.\r
-//            Resource r = SimanticsUI.getSession().getRandomAccessReference(memento.getTextData());\r
-//            return r;\r
-            return null;\r
-        }\r
-\r
-        @Override\r
-        protected void storeItemToMemento(Object item, IMemento memento) {\r
-            if(item instanceof Resource) {\r
-                try {\r
-                       SerialisationSupport support = SimanticsUI.getSession().getService(SerialisationSupport.class);\r
-                    memento.putTextData(support.getResourceSerializer().createRandomAccessId((Resource)item));\r
-                } catch (InvalidResourceReferenceException e) {\r
-                    e.printStackTrace();\r
-                }\r
-            }\r
-        }\r
-        \r
-    };\r
-    \r
-    public ResourceSelectionDialog(Shell shell, Map<T, String> parameter, String title) {\r
-        super(shell, true);\r
-        this.nameMap = parameter;\r
-        this.title = title;\r
-        \r
-        ILabelProvider labelProvider = new LabelProvider() {\r
-            @Override\r
-            public String getText(Object element) {\r
-                return nameMap.get(element);\r
-            }\r
-        }; \r
-                               \r
-        setListLabelProvider(labelProvider);\r
-        setDetailsLabelProvider(labelProvider);\r
-        \r
-        setSelectionHistory(new ResourceSelectionHistory());\r
-        setTitle(title);\r
-        \r
-    }\r
-\r
-    @Override\r
-    protected Control createExtendedContentArea(Composite parent) {\r
-        // Don't create anything extra at the moment\r
-        return null;\r
-    }                                        \r
-\r
-    class ResourceSelectionDialogItemsFilter extends FilteredItemsSelectionDialog.ItemsFilter {\r
-        \r
-        public ResourceSelectionDialogItemsFilter() {\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 isConsistentItem(Object item) {\r
-            return true;\r
-        }\r
-\r
-        @Override\r
-        public boolean matchItem(Object item) {\r
-            return matches(nameMap.get(item));\r
-        }\r
-    }\r
-    \r
-    @Override\r
-    protected ItemsFilter createFilter() {                                \r
-        return new ResourceSelectionDialogItemsFilter();\r
-    }\r
-\r
-    @Override\r
-    protected void fillContentProvider(AbstractContentProvider contentProvider,\r
-            ItemsFilter itemsFilter, IProgressMonitor progressMonitor) throws CoreException {        \r
-        for(T o : nameMap.keySet())\r
-            contentProvider.add(o, itemsFilter);\r
-        if (progressMonitor != null)\r
-            progressMonitor.done();\r
-    }\r
-\r
-    protected abstract IDialogSettings getBaseDialogSettings();     \r
-    \r
-    @Override\r
-    protected IDialogSettings getDialogSettings() {\r
-        IDialogSettings base = getBaseDialogSettings();\r
-        IDialogSettings settings = base.getSection(title);\r
-        if (settings == null)\r
-            settings = base.addNewSection(title);\r
-        return settings;                                \r
-    }\r
-\r
-    @Override\r
-    public String getElementName(Object item) {\r
-        return nameMap.get(item);\r
-    }\r
-\r
-    @Override\r
-    protected Comparator<?> getItemsComparator() {\r
-        return new Comparator<Object>() {\r
-\r
-            @Override\r
-            public int compare(Object o1, Object o2) {\r
-                return nameMap.get(o1).compareToIgnoreCase(nameMap.get(o2));\r
-            }\r
-            \r
-        };\r
-    }\r
-\r
-    @Override\r
-    protected IStatus validateItem(Object item) {\r
-        return Status.OK_STATUS;\r
-    }\r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.ui.workbench.dialogs;
+
+import java.util.Comparator;
+import java.util.Map;
+
+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.ILabelProvider;
+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.Simantics;
+import org.simantics.db.Resource;
+import org.simantics.db.exception.InvalidResourceReferenceException;
+import org.simantics.db.service.SerialisationSupport;
+
+public abstract class ResourceSelectionDialog<T> extends FilteredItemsSelectionDialog {
+
+    Map<T, String> nameMap;
+    String         title;      
+    
+    class ResourceSelectionHistory extends FilteredItemsSelectionDialog.SelectionHistory {
+
+        @Override
+        protected Object restoreItemFromMemento(IMemento memento) {
+            // FIXME: somehow create a collective transaction inside which the Graph.getRandomAccessReference should be invoked.
+//            Resource r = Simantics.getSession().getRandomAccessReference(memento.getTextData());
+//            return r;
+            return null;
+        }
+
+        @Override
+        protected void storeItemToMemento(Object item, IMemento memento) {
+            if(item instanceof Resource) {
+                try {
+                       SerialisationSupport support = Simantics.getSession().getService(SerialisationSupport.class);
+                    memento.putTextData(support.getResourceSerializer().createRandomAccessId((Resource)item));
+                } catch (InvalidResourceReferenceException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        
+    };
+    
+    public ResourceSelectionDialog(Shell shell, Map<T, String> parameter, String title) {
+        super(shell, true);
+        this.nameMap = parameter;
+        this.title = title;
+        
+        ILabelProvider labelProvider = new LabelProvider() {
+            @Override
+            public String getText(Object element) {
+                return nameMap.get(element);
+            }
+        }; 
+                               
+        setListLabelProvider(labelProvider);
+        setDetailsLabelProvider(labelProvider);
+        
+        setSelectionHistory(new ResourceSelectionHistory());
+        setTitle(title);
+        
+    }
+
+    @Override
+    protected Control createExtendedContentArea(Composite parent) {
+        // Don't create anything extra at the moment
+        return null;
+    }                                        
+
+    class ResourceSelectionDialogItemsFilter extends FilteredItemsSelectionDialog.ItemsFilter {
+        
+        public ResourceSelectionDialogItemsFilter() {
+            String patternText = getPattern();
+            patternMatcher = new SearchPattern();
+            if(patternText != null && patternText.length() > 0)
+                patternMatcher.setPattern(patternText);
+            else 
+                patternMatcher.setPattern("*");            
+        }
+        
+        @Override
+        public boolean isConsistentItem(Object item) {
+            return true;
+        }
+
+        @Override
+        public boolean matchItem(Object item) {
+            return matches(nameMap.get(item));
+        }
+    }
+    
+    @Override
+    protected ItemsFilter createFilter() {                                
+        return new ResourceSelectionDialogItemsFilter();
+    }
+
+    @Override
+    protected void fillContentProvider(AbstractContentProvider contentProvider,
+            ItemsFilter itemsFilter, IProgressMonitor progressMonitor) throws CoreException {        
+        for(T o : nameMap.keySet())
+            contentProvider.add(o, itemsFilter);
+        if (progressMonitor != null)
+            progressMonitor.done();
+    }
+
+    protected abstract IDialogSettings getBaseDialogSettings();     
+    
+    @Override
+    protected IDialogSettings getDialogSettings() {
+        IDialogSettings base = getBaseDialogSettings();
+        IDialogSettings settings = base.getSection(title);
+        if (settings == null)
+            settings = base.addNewSection(title);
+        return settings;                                
+    }
+
+    @Override
+    public String getElementName(Object item) {
+        return nameMap.get(item);
+    }
+
+    @Override
+    protected Comparator<?> getItemsComparator() {
+        return new Comparator<Object>() {
+
+            @Override
+            public int compare(Object o1, Object o2) {
+                return nameMap.get(o1).compareToIgnoreCase(nameMap.get(o2));
+            }
+            
+        };
+    }
+
+    @Override
+    protected IStatus validateItem(Object item) {
+        return Status.OK_STATUS;
+    }
+}