diff options
author | Alexander Kurtakov | 2019-07-30 18:53:15 +0000 |
---|---|---|
committer | Alexander Kurtakov | 2019-07-31 15:41:10 +0000 |
commit | f826a789f7e1e1ac6c2f31ac468b44f85f08e18f (patch) | |
tree | 8cc453058078810bdd142dbc00f9d7afbd6193af | |
parent | 536232859c7edf61cd18676acfcf64674ef9b646 (diff) | |
download | org.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>
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; - } - -} |