Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kurtakov2019-07-30 18:53:15 +0000
committerAlexander Kurtakov2019-07-31 15:41:10 +0000
commitf826a789f7e1e1ac6c2f31ac468b44f85f08e18f (patch)
tree8cc453058078810bdd142dbc00f9d7afbd6193af
parent536232859c7edf61cd18676acfcf64674ef9b646 (diff)
downloadorg.eclipse.linuxtools-f826a789f7e1e1ac6c2f31ac468b44f85f08e18f.tar.gz
org.eclipse.linuxtools-f826a789f7e1e1ac6c2f31ac468b44f85f08e18f.tar.xz
org.eclipse.linuxtools-f826a789f7e1e1ac6c2f31ac468b44f85f08e18f.zip
Replace Valgrind *.supp editor with GenericEditor.
All functionality works with GenericEditor now. Change-Id: I4d75dcd8756abd3c001ff232adf6c62706e3b9db Signed-off-by: Alexander Kurtakov <akurtako@redhat.com> Reviewed-on: https://git.eclipse.org/r/146825 Tested-by: Linux Tools Bot <linuxtools-bot@eclipse.org>
-rw-r--r--valgrind/org.eclipse.linuxtools.valgrind.ui.editor/META-INF/MANIFEST.MF9
-rw-r--r--valgrind/org.eclipse.linuxtools.valgrind.ui.editor/plugin.xml46
-rw-r--r--valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsConfiguration.java63
-rw-r--r--valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsEditor.java72
-rw-r--r--valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsReconcilingStrategy.java90
5 files changed, 23 insertions, 257 deletions
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/META-INF/MANIFEST.MF b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/META-INF/MANIFEST.MF
index e0f7ec2bfb..f4dff1dd68 100644
--- a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/META-INF/MANIFEST.MF
+++ b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/META-INF/MANIFEST.MF
@@ -7,17 +7,14 @@ Bundle-Vendor: %Bundle-Vendor.0
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.core.resources,
- org.eclipse.ui.ide
+ org.eclipse.ui.ide,
+ org.eclipse.ui.genericeditor
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.jface.text,
org.eclipse.jface.text.contentassist,
org.eclipse.jface.text.presentation,
- org.eclipse.jface.text.reconciler,
org.eclipse.jface.text.rules,
- org.eclipse.jface.text.source,
- org.eclipse.jface.text.source.projection,
org.eclipse.ui.editors.text,
- org.eclipse.ui.texteditor,
- org.eclipse.core.filebuffers
+ org.eclipse.ui.texteditor
Automatic-Module-Name: org.eclipse.linuxtools.valgrind.ui.editor
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/plugin.xml b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/plugin.xml
index ce588ed815..58a8e40a44 100644
--- a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/plugin.xml
+++ b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/plugin.xml
@@ -2,21 +2,6 @@
<?eclipse version="3.4"?>
<plugin>
<extension
- point="org.eclipse.ui.editors">
- <editor
- class="org.eclipse.linuxtools.internal.valgrind.ui.editor.SuppressionsEditor"
- contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
- default="false"
- extensions="supp"
- icon="icons/valgrind-supp-icon.png"
- id="org.eclipse.linuxtools.valgrind.editor.suppEditor"
- name="%editor.name.0">
- <contentTypeBinding
- contentTypeId="org.eclipse.linuxtools.valgrind.editor.content-type">
- </contentTypeBinding>
- </editor>
- </extension>
- <extension
point="org.eclipse.core.contenttype.contentTypes">
<content-type
base-type="org.eclipse.core.runtime.text"
@@ -27,18 +12,27 @@
</content-type>
</extension>
<extension
- point="org.eclipse.ui.genericeditor.presentationReconcilers">
- <presentationReconciler
- class="org.eclipse.linuxtools.internal.valgrind.ui.editor.SuppPresentationReconciler"
- contentType="org.eclipse.linuxtools.valgrind.editor.content-type">
- </presentationReconciler>
+ point="org.eclipse.ui.editors">
+ <editorContentTypeBinding
+ contentTypeId="org.eclipse.linuxtools.valgrind.editor.content-type"
+ editorId="org.eclipse.ui.genericeditor.GenericEditor">
+ </editorContentTypeBinding>
</extension>
- <extension point="org.eclipse.ui.genericeditor.contentAssistProcessors">
- <contentAssistProcessor
- class="org.eclipse.linuxtools.internal.valgrind.ui.editor.SuppressionsContentAssistProcessor"
- contentType="org.eclipse.linuxtools.valgrind.editor.content-type">
- </contentAssistProcessor>
-</extension>
+ <extension point="org.eclipse.ui.genericeditor.presentationReconcilers">
+ <presentationReconciler
+ class="org.eclipse.linuxtools.internal.valgrind.ui.editor.SuppPresentationReconciler"
+ contentType="org.eclipse.linuxtools.valgrind.editor.content-type">
+ </presentationReconciler>
+ </extension>
+ <extension point="org.eclipse.ui.genericeditor.contentAssistProcessors">
+ <contentAssistProcessor
+ class="org.eclipse.linuxtools.internal.valgrind.ui.editor.SuppressionsContentAssistProcessor"
+ contentType="org.eclipse.linuxtools.valgrind.editor.content-type">
+ </contentAssistProcessor>
+ </extension>
+ <extension point="org.eclipse.ui.genericeditor.icons">
+ <icon contentTypeId="org.eclipse.linuxtools.valgrind.editor.content-type" icon="icons/valgrind-supp-icon.png" />
+ </extension>
<extension
point="org.eclipse.ui.newWizards">
<wizard
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsConfiguration.java b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsConfiguration.java
deleted file mode 100644
index c44e04f935..0000000000
--- a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsConfiguration.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2018 Phil Muldoon and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Phil Muldoon <pkmuldoon@picobot.org> - initial API.
- * Red Hat - modifications for use with Valgrind plugins.
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.valgrind.ui.editor;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.presentation.IPresentationReconciler;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.reconciler.MonoReconciler;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-
-public class SuppressionsConfiguration extends SourceViewerConfiguration {
-
- private SuppressionsEditor editor;
-
- public SuppressionsConfiguration(SuppressionsEditor editor) {
- this.editor = editor;
- }
-
- @Override
- public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
- return SuppressionsPartitionScanner.SUPP_CONTENT_TYPES;
- }
-
- @Override
- public IPresentationReconciler getPresentationReconciler(
- ISourceViewer sourceViewer) {
-
- return new SuppPresentationReconciler();
- }
-
- @Override
- public IReconciler getReconciler(ISourceViewer sourceViewer) {
- SuppressionsReconcilingStrategy strategy = new SuppressionsReconcilingStrategy(editor);
- return new MonoReconciler(strategy, false);
- }
-
- @Override
- public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
- ContentAssistant assistant = new ContentAssistant();
- assistant.setContentAssistProcessor(new SuppressionsContentAssistProcessor(), IDocument.DEFAULT_CONTENT_TYPE);
- assistant.setContentAssistProcessor(new SuppressionsContentAssistProcessor(), SuppressionsPartitionScanner.SUPP_TOOL);
- assistant.setContentAssistProcessor(new SuppressionsContentAssistProcessor(), SuppressionsPartitionScanner.SUPP_TYPE);
- assistant.setContentAssistProcessor(new SuppressionsContentAssistProcessor(), SuppressionsPartitionScanner.SUPP_CONTEXT);
- assistant.setInformationControlCreator(getInformationControlCreator(sourceViewer));
- assistant.enableAutoInsert(true);
- return assistant;
- }
-
-}
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsEditor.java b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsEditor.java
deleted file mode 100644
index b189a896f5..0000000000
--- a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsEditor.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2018 Phil Muldoon and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Phil Muldoon <pkmuldoon@picobot.org> - initial API.
- * Red Hat - modifications for use with Valgrind plugins.
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.valgrind.ui.editor;
-import java.util.HashMap;
-
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.text.source.projection.ProjectionAnnotation;
-import org.eclipse.jface.text.source.projection.ProjectionAnnotationModel;
-import org.eclipse.jface.text.source.projection.ProjectionSupport;
-import org.eclipse.jface.text.source.projection.ProjectionViewer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.editors.text.TextEditor;
-
-
-public class SuppressionsEditor extends TextEditor {
-
- private ProjectionAnnotationModel annotationModel;
- private Annotation[] oldAnnotations;
-
- public SuppressionsEditor() {
- setSourceViewerConfiguration(new SuppressionsConfiguration(this));
- setDocumentProvider(new SuppressionsDocumentProvider());
- oldAnnotations = null;
- }
-
- @Override
- public void createPartControl(Composite parent) {
- super.createPartControl(parent);
- ProjectionViewer viewer =(ProjectionViewer)getSourceViewer();
- ProjectionSupport projectionSupport = new ProjectionSupport(viewer, getAnnotationAccess(), getSharedColors());
- projectionSupport.install();
- viewer.doOperation(ProjectionViewer.TOGGLE);
- annotationModel = viewer.getProjectionAnnotationModel();
- }
-
- @Override
- protected ISourceViewer createSourceViewer(Composite parent,
- IVerticalRuler ruler, int styles) {
-
- ISourceViewer viewer = new ProjectionViewer(parent, ruler,
- getOverviewRuler(), isOverviewRulerVisible(), styles);
- getSourceViewerDecorationSupport(viewer);
- return viewer;
- }
-
- public void updateFoldingStructure(Position[] updatedPositions) {
- Annotation[] updatedAnnotations = new Annotation[updatedPositions.length];
- HashMap<ProjectionAnnotation, Position> newAnnotations = new HashMap<>();
- for (int i = 0; i < updatedPositions.length; i++) {
- ProjectionAnnotation annotation = new ProjectionAnnotation();
- newAnnotations.put(annotation, updatedPositions[i]);
- updatedAnnotations[i] = annotation;
- }
- annotationModel.modifyAnnotations(oldAnnotations, newAnnotations, null);
- oldAnnotations = updatedAnnotations;
- }
-
-} \ No newline at end of file
diff --git a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsReconcilingStrategy.java b/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsReconcilingStrategy.java
deleted file mode 100644
index eea297ab5e..0000000000
--- a/valgrind/org.eclipse.linuxtools.valgrind.ui.editor/src/org/eclipse/linuxtools/internal/valgrind/ui/editor/SuppressionsReconcilingStrategy.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2018 Phil Muldoon <pkmuldoon@picobot.org>.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Phil Muldoon <pkmuldoon@picobot.org> - initial API.
- * Red Hat - modifications for use with Valgrind plugins.
- *******************************************************************************/
-package org.eclipse.linuxtools.internal.valgrind.ui.editor;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension;
-import org.eclipse.swt.widgets.Display;
-
-public class SuppressionsReconcilingStrategy implements IReconcilingStrategy,
- IReconcilingStrategyExtension {
- private SuppressionsEditor editor;
- private IDocument document;
- private List<Position> positions;
- private IProgressMonitor monitor;
-
- public SuppressionsReconcilingStrategy(SuppressionsEditor editor) {
- this.editor = editor;
- positions = new ArrayList<>();
- }
-
- @Override
- public void reconcile(IRegion partition) {
- initialReconcile();
- }
-
- @Override
- public void reconcile(DirtyRegion dirtyRegion, IRegion subRegion) {
- initialReconcile();
- }
-
- @Override
- public void setDocument(IDocument document) {
- this.document = document;
- }
-
- @Override
- public void initialReconcile() {
- int start = -1;
- int end = document.getLength();
- int worked = 0;
- monitor.beginTask(Messages.getString("SuppressionsReconcilingStrategy.Monitor_title"), 10); //$NON-NLS-1$
- for (int pos = 0; pos < end; pos++) {
- try {
- char ch = document.getChar(pos);
- if (ch == '{') {
- start = pos;
- } else if (ch == '}' && start > 0) {
- positions.add(new Position(start, pos - start + 1));
- start = -1; // reset
- }
- } catch (BadLocationException e) {
- e.printStackTrace();
- }
-
- if (pos * 10 / end > worked) {
- monitor.worked(1);
- worked++;
- }
- }
- monitor.done();
-
- Display.getDefault().syncExec(() -> editor.updateFoldingStructure(positions.toArray(new Position[positions.size()])));
- }
-
- @Override
- public void setProgressMonitor(IProgressMonitor monitor) {
- this.monitor = monitor;
- }
-
-}

Back to the top