Bug 539020: Add support for configuration of display of code snippets
Change-Id: I7ec8ee5deb2cc0c5cacc7cc2d78d7ed986cce773
diff --git a/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/internal/ide/ui/preferences/CodeGenerationTemplatesConfigurationBlock.java b/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/internal/ide/ui/preferences/CodeGenerationTemplatesConfigurationBlock.java
index ae54785..7b90c90 100644
--- a/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/internal/ide/ui/preferences/CodeGenerationTemplatesConfigurationBlock.java
+++ b/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/internal/ide/ui/preferences/CodeGenerationTemplatesConfigurationBlock.java
@@ -76,6 +76,7 @@
import org.eclipse.statet.ltk.ui.sourceediting.SourceEditorViewerConfigurator;
import org.eclipse.statet.ltk.ui.sourceediting.ViewerSourceEditorAdapter;
import org.eclipse.statet.ltk.ui.templates.config.EditTemplateDialog;
+import org.eclipse.statet.ltk.ui.templates.config.TemplateConfigUI;
/**
@@ -370,7 +371,8 @@
EditTemplateDialog.FIX_TEMPLATE,
this.fCategoryProvider[item.getCategoryIndex()].getEditTemplateDialogConfiguator(this.fEditTemplateProcessor, this.fProject),
this.fEditTemplateProcessor,
- this.fCategoryProvider[item.getCategoryIndex()].getContextTypeRegistry());
+ this.fCategoryProvider[item.getCategoryIndex()].getContextTypeRegistry(),
+ TemplateConfigUI.PREF_QUALIFIER );
if (dialog.open() == Window.OK) {
// changed
item.fData.setTemplate(dialog.getTemplate());
diff --git a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RConsoleOptionsTab.java b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RConsoleOptionsTab.java
index df3d994..f648539 100644
--- a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RConsoleOptionsTab.java
+++ b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RConsoleOptionsTab.java
@@ -51,6 +51,7 @@
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.PlatformUI;
import org.eclipse.statet.ecommons.databinding.IntegerValidator;
import org.eclipse.statet.ecommons.databinding.jface.SWTMultiEnabledObservable;
@@ -63,6 +64,7 @@
import org.eclipse.statet.internal.r.console.ui.Messages;
import org.eclipse.statet.ltk.ui.sourceediting.SnippetEditor;
+import org.eclipse.statet.ltk.ui.sourceediting.SnippetEditor1;
import org.eclipse.statet.ltk.ui.sourceediting.SnippetEditorObservable;
import org.eclipse.statet.nico.core.util.HistoryTrackingConfiguration;
import org.eclipse.statet.nico.core.util.TrackingConfiguration;
@@ -71,6 +73,7 @@
import org.eclipse.statet.nico.ui.util.TrackingConfigurationDialog;
import org.eclipse.statet.r.console.ui.launching.RConsoleLaunching;
import org.eclipse.statet.r.core.RCore;
+import org.eclipse.statet.r.launching.ui.RLaunchingUI;
import org.eclipse.statet.r.ui.sourceediting.RSourceViewerConfigurator;
import org.eclipse.statet.r.ui.sourceediting.RTemplateSourceViewerConfigurator;
@@ -122,7 +125,7 @@
private ButtonGroup<TrackingConfiguration> trackingButtons;
private int trackingMaxCustomId;
- private SnippetEditor startupSnippetEditor;
+ private SnippetEditor1 startupSnippetEditor;
private Button rHelpByStatetControl;
private Button rGraphicsByStatetControl;
@@ -285,7 +288,8 @@
final RSourceViewerConfigurator configurator= new RTemplateSourceViewerConfigurator(
RCore.WORKBENCH_ACCESS,
templateVariableProcessor );
- this.startupSnippetEditor= new SnippetEditor(configurator);
+ this.startupSnippetEditor= new SnippetEditor1(configurator, null,
+ PlatformUI.getWorkbench(), RLaunchingUI.LAUNCH_CONFIG_QUALIFIER );
this.startupSnippetEditor.create(container, SnippetEditor.DEFAULT_MULTI_LINE_STYLE);
final GridData gd= new GridData(SWT.FILL, SWT.FILL, true, true);
gd.heightHint= LayoutUtil.hintHeight(this.startupSnippetEditor.getSourceViewer().getTextWidget(), 8);
diff --git a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/snippets/RSnippetPreferencePage.java b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/snippets/RSnippetPreferencePage.java
index 64d565d..a9e1d69 100644
--- a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/snippets/RSnippetPreferencePage.java
+++ b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/snippets/RSnippetPreferencePage.java
@@ -56,6 +56,7 @@
import org.eclipse.statet.ltk.ui.templates.config.TemplateCategory;
import org.eclipse.statet.ltk.ui.templates.config.TemplateStoreContribution;
import org.eclipse.statet.r.core.RCore;
+import org.eclipse.statet.r.launching.ui.RLaunchingUI;
import org.eclipse.statet.r.ui.RUI;
import org.eclipse.statet.r.ui.sourceediting.RTemplateSourceViewerConfigurator;
@@ -138,7 +139,8 @@
final SourceEditorViewerConfigurator configurator,
final TemplateVariableProcessor processor, final ContextTypeRegistry registry,
final RSnippets snippets) {
- super(parent, template, edit, flags, configurator, processor, registry);
+ super(parent, template, edit, flags, configurator, processor, registry,
+ RLaunchingUI.LAUNCH_CONFIG_QUALIFIER );
this.snippets= snippets;
}
@@ -227,7 +229,7 @@
final ContextTypeRegistry registry) {
return new RSnippetEditDialog(getShell(), template,
((command & ButtonGroup.ADD_ANY) != 0), EditTemplateDialog.CUSTOM_TEMPLATE,
- configurator, processor, registry, this.snippets);
+ configurator, processor, registry, this.snippets );
}
}
diff --git a/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/r/launching/ui/RLaunchingUI.java b/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/r/launching/ui/RLaunchingUI.java
new file mode 100644
index 0000000..f785d5f
--- /dev/null
+++ b/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/r/launching/ui/RLaunchingUI.java
@@ -0,0 +1,30 @@
+/*=============================================================================#
+ # Copyright (c) 2017, 2018 Stephan Wahlbrink 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, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ #
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ #
+ # Contributors:
+ # Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================*/
+
+package org.eclipse.statet.r.launching.ui;
+
+import org.eclipse.statet.r.ui.RUI;
+
+
+public class RLaunchingUI {
+
+
+ public static final String QUALIFIER= RUI.BUNDLE_ID + "/launching"; //$NON-NLS-1$
+
+ public static final String LAUNCH_CONFIG_QUALIFIER= QUALIFIER + "config"; //$NON-NLS-1$
+
+
+ private RLaunchingUI() {}
+
+}
diff --git a/redocs/org.eclipse.statet.redocs.r/src/org/eclipse/statet/redocs/r/ui/processing/RunRConsoleSnippetOperationSettings.java b/redocs/org.eclipse.statet.redocs.r/src/org/eclipse/statet/redocs/r/ui/processing/RunRConsoleSnippetOperationSettings.java
index 5acac73..7eebad9 100644
--- a/redocs/org.eclipse.statet.redocs.r/src/org/eclipse/statet/redocs/r/ui/processing/RunRConsoleSnippetOperationSettings.java
+++ b/redocs/org.eclipse.statet.redocs.r/src/org/eclipse/statet/redocs/r/ui/processing/RunRConsoleSnippetOperationSettings.java
@@ -31,6 +31,7 @@
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
+import org.eclipse.ui.PlatformUI;
import org.eclipse.statet.ecommons.databinding.core.util.UpdateableErrorValidator;
import org.eclipse.statet.ecommons.resources.core.variables.ResourceVariables;
@@ -47,7 +48,9 @@
import org.eclipse.statet.docmlet.base.ui.processing.DocProcessingOperationSettings;
import org.eclipse.statet.internal.redocs.r.Messages;
import org.eclipse.statet.ltk.ui.sourceediting.SnippetEditor;
+import org.eclipse.statet.ltk.ui.sourceediting.SnippetEditor1;
import org.eclipse.statet.r.core.RCore;
+import org.eclipse.statet.r.launching.ui.RLaunchingUI;
import org.eclipse.statet.r.ui.sourceediting.RSourceViewerConfigurator;
import org.eclipse.statet.r.ui.sourceediting.RTemplateSourceViewerConfigurator;
@@ -57,7 +60,7 @@
private IObservableValue<String> snippetValue;
- private SnippetEditor snippetEditor;
+ private SnippetEditor1 snippetEditor;
private VariableText2 snippetVariableResolver;
@@ -106,7 +109,8 @@
final RSourceViewerConfigurator configurator= new RTemplateSourceViewerConfigurator(
RCore.WORKBENCH_ACCESS,
templateVariableProcessor );
- final SnippetEditor editor= new SnippetEditor(configurator, null, null, true) {
+ final SnippetEditor1 editor= new SnippetEditor1(configurator, null,
+ PlatformUI.getWorkbench(), RLaunchingUI.LAUNCH_CONFIG_QUALIFIER, true ) {
@Override
protected void fillToolMenu(final Menu menu) {
{ final MenuItem item= new MenuItem(menu, SWT.PUSH);
diff --git a/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/internal/redocs/tex/r/ui/processing/RweaveTab.java b/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/internal/redocs/tex/r/ui/processing/RweaveTab.java
index 4df1357..8d20b2b 100644
--- a/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/internal/redocs/tex/r/ui/processing/RweaveTab.java
+++ b/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/internal/redocs/tex/r/ui/processing/RweaveTab.java
@@ -54,6 +54,7 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.statushandlers.StatusManager;
import org.eclipse.statet.jcommons.collections.ImCollections;
@@ -68,9 +69,10 @@
import org.eclipse.statet.ecommons.ui.workbench.ResourceInputComposite;
import org.eclipse.statet.internal.redocs.tex.r.RedocsTexRPlugin;
-import org.eclipse.statet.ltk.ui.sourceediting.SnippetEditor;
+import org.eclipse.statet.ltk.ui.sourceediting.SnippetEditor1;
import org.eclipse.statet.r.cmd.ui.launching.RCmdLaunching;
import org.eclipse.statet.r.core.RCore;
+import org.eclipse.statet.r.launching.ui.RLaunchingUI;
import org.eclipse.statet.r.ui.sourceediting.RSourceViewerConfigurator;
import org.eclipse.statet.r.ui.sourceediting.RTemplateSourceViewerConfigurator;
import org.eclipse.statet.redocs.r.ui.RedocsRUIResources;
@@ -237,7 +239,7 @@
private ILaunchConfigurationListener fLaunchConfigurationListener;
private Button fSkipSelectControl;
private Button fConsoleSelectControl;
- private SnippetEditor fConsoleCommandEditor;
+ private SnippetEditor1 fConsoleCommandEditor;
private Button fConsoleCommandInsertButton;
private Button fCmdLaunchSelectControl;
@@ -336,8 +338,9 @@
final RSourceViewerConfigurator configurator= new RTemplateSourceViewerConfigurator(
RCore.WORKBENCH_ACCESS,
templateVariableProcessor );
- this.fConsoleCommandEditor= new SnippetEditor(configurator);
- this.fConsoleCommandEditor.create(group, SnippetEditor.DEFAULT_MULTI_LINE_STYLE);
+ this.fConsoleCommandEditor= new SnippetEditor1(configurator, null,
+ PlatformUI.getWorkbench(), RLaunchingUI.LAUNCH_CONFIG_QUALIFIER );
+ this.fConsoleCommandEditor.create(group, SnippetEditor1.DEFAULT_MULTI_LINE_STYLE);
gd= new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
gd.heightHint= LayoutUtil.hintHeight(this.fConsoleCommandEditor.getSourceViewer().getTextWidget(), 5);
gd.horizontalIndent= LayoutUtil.defaultIndent();
diff --git a/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/internal/redocs/tex/r/ui/processing/TexTab.java b/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/internal/redocs/tex/r/ui/processing/TexTab.java
index d9bb635..153e845 100644
--- a/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/internal/redocs/tex/r/ui/processing/TexTab.java
+++ b/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/internal/redocs/tex/r/ui/processing/TexTab.java
@@ -53,6 +53,7 @@
import org.eclipse.texlipse.builder.Builder;
import org.eclipse.texlipse.builder.BuilderChooser;
import org.eclipse.texlipse.builder.BuilderRegistry;
+import org.eclipse.ui.PlatformUI;
import org.eclipse.statet.jcommons.collections.ImCollections;
@@ -66,8 +67,9 @@
import org.eclipse.statet.ecommons.ui.util.VariableFilterUtils;
import org.eclipse.statet.ecommons.ui.workbench.ResourceInputComposite;
-import org.eclipse.statet.ltk.ui.sourceediting.SnippetEditor;
+import org.eclipse.statet.ltk.ui.sourceediting.SnippetEditor1;
import org.eclipse.statet.r.core.RCore;
+import org.eclipse.statet.r.launching.ui.RLaunchingUI;
import org.eclipse.statet.r.ui.sourceediting.RSourceViewerConfigurator;
import org.eclipse.statet.r.ui.sourceediting.RTemplateSourceViewerConfigurator;
import org.eclipse.statet.redocs.r.ui.RedocsRUIResources;
@@ -155,7 +157,7 @@
private Button fBuildTexFileEclipseControl;
private BuilderChooser fBuildTexTypeChooser;
private Button fBuildTexFileRControl;
- private SnippetEditor fConsoleCommandEditor;
+ private SnippetEditor1 fConsoleCommandEditor;
private Combo fOutputFormatControl;
@@ -305,7 +307,8 @@
final RSourceViewerConfigurator configurator= new RTemplateSourceViewerConfigurator(
RCore.WORKBENCH_ACCESS,
templateVariableProcessor );
- this.fConsoleCommandEditor= new SnippetEditor(configurator, null, null, true) {
+ this.fConsoleCommandEditor= new SnippetEditor1(configurator, null,
+ PlatformUI.getWorkbench(), RLaunchingUI.LAUNCH_CONFIG_QUALIFIER, true ) {
@Override
protected void fillToolMenu(final Menu menu) {
{ final MenuItem item= new MenuItem(menu, SWT.PUSH);
@@ -352,7 +355,7 @@
}
}
};
- this.fConsoleCommandEditor.create(composite, SnippetEditor.DEFAULT_MULTI_LINE_STYLE);
+ this.fConsoleCommandEditor.create(composite, SnippetEditor1.DEFAULT_MULTI_LINE_STYLE);
final GridData gd= new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
gd.heightHint= LayoutUtil.hintHeight(this.fConsoleCommandEditor.getSourceViewer().getTextWidget(), 5);
gd.horizontalIndent= LayoutUtil.defaultIndent();