]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/search/SCLSearchResult.java
Find SCL references in SCLModuleEditor with Ctrl+Shift+G
[simantics/platform.git] / bundles / org.simantics.scl.ui / src / org / simantics / scl / ui / search / SCLSearchResult.java
diff --git a/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/search/SCLSearchResult.java b/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/search/SCLSearchResult.java
new file mode 100644 (file)
index 0000000..859a29d
--- /dev/null
@@ -0,0 +1,78 @@
+package org.simantics.scl.ui.search;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.search.ui.ISearchQuery;
+import org.eclipse.search.ui.text.AbstractTextSearchResult;
+import org.eclipse.search.ui.text.IEditorMatchAdapter;
+import org.eclipse.search.ui.text.IFileMatchAdapter;
+import org.eclipse.search.ui.text.Match;
+import org.eclipse.ui.IEditorPart;
+
+public class SCLSearchResult  extends AbstractTextSearchResult implements IEditorMatchAdapter, IFileMatchAdapter {
+
+    private SCLSearchQuery query;
+
+    public SCLSearchResult(SCLSearchQuery sclSearchQuery) {
+        this.query = sclSearchQuery;
+    }
+
+    @Override
+    public String getLabel() {
+        return "SCL search result label for " + query.getValueName();
+    }
+
+    @Override
+    public String getTooltip() {
+        return getLabel();
+    }
+
+    @Override
+    public ImageDescriptor getImageDescriptor() {
+        return null;
+    }
+
+    @Override
+    public ISearchQuery getQuery() {
+        return query;
+    }
+
+    @Override
+    public Match[] computeContainedMatches(AbstractTextSearchResult result, IFile file) {
+        return null;
+    }
+
+    @Override
+    public IFile getFile(Object element) {
+        return null;
+    }
+
+    @Override
+    public boolean isShownInEditor(Match match, IEditorPart editor) {
+        Object element= match.getElement();
+//        if (element instanceof IJavaElement) {
+//            element= ((IJavaElement) element).getOpenable(); // class file or compilation unit
+//            return element != null && element.equals(editor.getEditorInput().getAdapter(IJavaElement.class));
+//        } else if (element instanceof IFile) {
+//            return element.equals(editor.getEditorInput().getAdapter(IFile.class));
+//        }
+        return false;
+    }
+
+    @Override
+    public Match[] computeContainedMatches(AbstractTextSearchResult result, IEditorPart editor) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public IEditorMatchAdapter getEditorMatchAdapter() {
+        return this;
+    }
+
+    @Override
+    public IFileMatchAdapter getFileMatchAdapter() {
+        return this;
+    }
+
+}