]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/issues/SCLIssuesView.java
(refs #7386) Minor SCL tools improvements
[simantics/platform.git] / bundles / org.simantics.scl.ui / src / org / simantics / scl / ui / issues / SCLIssuesView.java
index adc7def7902191c30158494ab8ba45e4e06ee556..3e0cc3120bd8c163c62158b4e5f0661ef8e0d74f 100644 (file)
@@ -24,6 +24,7 @@ import org.eclipse.ui.IMemento;
 import org.eclipse.ui.IViewSite;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.part.ViewPart;
+import org.simantics.scl.compiler.errors.ErrorSeverity;
 import org.simantics.scl.osgi.SCLOsgi;
 import org.simantics.scl.ui.Activator;
 import org.simantics.scl.ui.editor2.OpenSCLDefinition;
@@ -40,6 +41,8 @@ public class SCLIssuesView extends ViewPart {
 
     ImageRegistry imageRegistry;
     
+    SCLIssuesContentProvider issuesContentProvider = new SCLIssuesContentProvider();
+    
     public SCLIssuesView() {
         super();
         imageRegistry = Activator.getInstance().getImageRegistry();
@@ -66,7 +69,7 @@ public class SCLIssuesView extends ViewPart {
         tableViewer = new TableViewer(parent,
                 SWT.FULL_SELECTION | SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL);
         ColumnViewerToolTipSupport.enableFor(tableViewer);
-        tableViewer.setContentProvider(new SCLIssuesContentProvider());
+        tableViewer.setContentProvider(issuesContentProvider);
 
         Table table = tableViewer.getTable();
         table.setHeaderVisible(true);
@@ -84,7 +87,12 @@ public class SCLIssuesView extends ViewPart {
             }
             @Override
             public Image getImage(Object element) {
-                return imageRegistry.get("error");
+                SCLIssuesTableEntry entry = (SCLIssuesTableEntry)element;
+                return entry.error.severity == ErrorSeverity.ERROR
+                        ? imageRegistry.get("error")
+                        : entry.error.severity == ErrorSeverity.IMPORT_ERROR
+                        ? imageRegistry.get("import_error")
+                        : imageRegistry.get("warning");
             }
         });
         
@@ -165,5 +173,11 @@ public class SCLIssuesView extends ViewPart {
     public void setFocus() {
         tableViewer.getControl().setFocus();
     }
+    
+    @Override
+    public void dispose() {
+        super.dispose();
+        issuesContentProvider.dispose();
+    }
 
 }