Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ComparePreferencePage.java')
-rw-r--r--bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ComparePreferencePage.java489
1 files changed, 489 insertions, 0 deletions
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ComparePreferencePage.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ComparePreferencePage.java
new file mode 100644
index 000000000..f4fe72b73
--- /dev/null
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ComparePreferencePage.java
@@ -0,0 +1,489 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.compare.internal;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.swt.widgets.Text;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.PreferenceLinkArea;
+import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
+
+import org.eclipse.compare.CompareConfiguration;
+import org.eclipse.compare.IEncodedStreamContentAccessor;
+import org.eclipse.compare.ITypedElement;
+import org.eclipse.compare.contentmergeviewer.TextMergeViewer;
+import org.eclipse.compare.internal.core.ComparePlugin;
+import org.eclipse.compare.structuremergeviewer.DiffNode;
+import org.eclipse.compare.structuremergeviewer.Differencer;
+
+
+public class ComparePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
+
+ class FakeInput implements ITypedElement, IEncodedStreamContentAccessor {
+ static final String UTF_16= "UTF-16"; //$NON-NLS-1$
+ String fContent;
+
+ FakeInput(String name) {
+ fContent= loadPreviewContentFromFile(name);
+ }
+ public Image getImage() {
+ return null;
+ }
+ public String getName() {
+ return "no name"; //$NON-NLS-1$
+ }
+ public String getType() {
+ return "no type"; //$NON-NLS-1$
+ }
+ public InputStream getContents() {
+ return new ByteArrayInputStream(Utilities.getBytes(fContent, UTF_16));
+ }
+ public String getCharset() {
+ return UTF_16;
+ }
+ }
+
+ private static final String PREFIX= CompareUIPlugin.PLUGIN_ID + "."; //$NON-NLS-1$
+ public static final String OPEN_STRUCTURE_COMPARE= PREFIX + "OpenStructureCompare"; //$NON-NLS-1$
+ public static final String USE_OUTLINE_VIEW= PREFIX + "UseOutlineView"; //$NON-NLS-1$
+ public static final String SYNCHRONIZE_SCROLLING= PREFIX + "SynchronizeScrolling"; //$NON-NLS-1$
+ public static final String SHOW_PSEUDO_CONFLICTS= PREFIX + "ShowPseudoConflicts"; //$NON-NLS-1$
+ public static final String INITIALLY_SHOW_ANCESTOR_PANE= PREFIX + "InitiallyShowAncestorPane"; //$NON-NLS-1$
+ public static final String PREF_SAVE_ALL_EDITORS= PREFIX + "SaveAllEditors"; //$NON-NLS-1$
+ public static final String IGNORE_WHITESPACE= PREFIX + "IgnoreWhitespace"; //$NON-NLS-1$
+
+ //public static final String USE_SPLINES= PREFIX + "UseSplines"; //$NON-NLS-1$
+ public static final String USE_SINGLE_LINE= PREFIX + "UseSingleLine"; //$NON-NLS-1$
+ public static final String HIGHLIGHT_TOKEN_CHANGES= PREFIX + "HighlightTokenChanges"; //$NON-NLS-1$
+ //public static final String USE_RESOLVE_UI= PREFIX + "UseResolveUI"; //$NON-NLS-1$
+ public static final String CAPPING_DISABLED= PREFIX + "CappingDisable"; //$NON-NLS-1$
+ public static final String PATH_FILTER= PREFIX + "PathFilter"; //$NON-NLS-1$
+ public static final String ADDED_LINES_REGEX= PREFIX + "AddedLinesRegex"; //$NON-NLS-1$
+ public static final String REMOVED_LINES_REGEX= PREFIX + "RemovedLinesRegex"; //$NON-NLS-1$
+
+
+ private TextMergeViewer fPreviewViewer;
+ private IPropertyChangeListener fPreferenceChangeListener;
+ private CompareConfiguration fCompareConfiguration;
+ private OverlayPreferenceStore fOverlayStore;
+ private Map fCheckBoxes= new HashMap();
+ private Text fFilters;
+ private Text addedLinesRegex;
+ private Text removedLinesRegex;
+ private SelectionListener fCheckBoxListener;
+
+
+ public final OverlayPreferenceStore.OverlayKey[] fKeys= new OverlayPreferenceStore.OverlayKey[] {
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, OPEN_STRUCTURE_COMPARE),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, USE_OUTLINE_VIEW),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, SYNCHRONIZE_SCROLLING),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, SHOW_PSEUDO_CONFLICTS),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, INITIALLY_SHOW_ANCESTOR_PANE),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, IGNORE_WHITESPACE),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PREF_SAVE_ALL_EDITORS),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, ADDED_LINES_REGEX),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, REMOVED_LINES_REGEX),
+ //new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, USE_SPLINES),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, USE_SINGLE_LINE),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, HIGHLIGHT_TOKEN_CHANGES),
+ //new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, USE_RESOLVE_UI),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, CAPPING_DISABLED),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, PATH_FILTER),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, ICompareUIConstants.PREF_NAVIGATION_END_ACTION),
+ new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, ICompareUIConstants.PREF_NAVIGATION_END_ACTION_LOCAL),
+ };
+ private RadioGroupFieldEditor editor;
+
+
+ public static void initDefaults(IPreferenceStore store) {
+ store.setDefault(OPEN_STRUCTURE_COMPARE, true);
+ store.setDefault(USE_OUTLINE_VIEW, false);
+ store.setDefault(SYNCHRONIZE_SCROLLING, true);
+ store.setDefault(SHOW_PSEUDO_CONFLICTS, false);
+ store.setDefault(INITIALLY_SHOW_ANCESTOR_PANE, false);
+ store.setDefault(IGNORE_WHITESPACE, false);
+ store.setDefault(PREF_SAVE_ALL_EDITORS, false);
+ store.setDefault(ADDED_LINES_REGEX, ""); //$NON-NLS-1$
+ store.setDefault(REMOVED_LINES_REGEX, ""); //$NON-NLS-1$
+ //store.setDefault(USE_SPLINES, false);
+ store.setDefault(USE_SINGLE_LINE, true);
+ store.setDefault(HIGHLIGHT_TOKEN_CHANGES, true);
+ //store.setDefault(USE_RESOLVE_UI, false);
+ store.setDefault(CAPPING_DISABLED, false);
+ store.setDefault(PATH_FILTER, ""); //$NON-NLS-1$
+ store.setDefault(ICompareUIConstants.PREF_NAVIGATION_END_ACTION, ICompareUIConstants.PREF_VALUE_PROMPT);
+ store.setDefault(ICompareUIConstants.PREF_NAVIGATION_END_ACTION_LOCAL, ICompareUIConstants.PREF_VALUE_LOOP);
+ }
+
+ public ComparePreferencePage() {
+
+ //setDescription(Utilities.getString("ComparePreferencePage.description")); //$NON-NLS-1$
+
+ setPreferenceStore(CompareUIPlugin.getDefault().getPreferenceStore());
+
+ fOverlayStore= new OverlayPreferenceStore(getPreferenceStore(), fKeys);
+ fPreferenceChangeListener= new IPropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent event) {
+ String key= event.getProperty();
+ if (key.equals(INITIALLY_SHOW_ANCESTOR_PANE)) {
+ boolean b= fOverlayStore.getBoolean(INITIALLY_SHOW_ANCESTOR_PANE);
+ if (fCompareConfiguration != null) {
+ fCompareConfiguration.setProperty(INITIALLY_SHOW_ANCESTOR_PANE, new Boolean(b));
+ }
+ }
+ }
+ };
+ fOverlayStore.addPropertyChangeListener(fPreferenceChangeListener);
+ }
+
+ /*
+ * @see IWorkbenchPreferencePage#init()
+ */
+ public void init(IWorkbench workbench) {
+ // empty
+ }
+
+ /*
+ * @see PreferencePage#performOk()
+ */
+ public boolean performOk() {
+ fOverlayStore.setValue(ADDED_LINES_REGEX, addedLinesRegex.getText());
+ fOverlayStore.setValue(REMOVED_LINES_REGEX, removedLinesRegex.getText());
+
+ editor.store();
+ fOverlayStore.propagate();
+
+ ComparePlugin.getDefault().setCappingDisabled(
+ getPreferenceStore().getBoolean(
+ ComparePreferencePage.CAPPING_DISABLED));
+ return true;
+ }
+
+ /*
+ * @see PreferencePage#performDefaults()
+ */
+ protected void performDefaults() {
+
+ fOverlayStore.loadDefaults();
+ initializeFields();
+
+ super.performDefaults();
+ }
+
+ /*
+ * @see DialogPage#dispose()
+ */
+ public void dispose() {
+
+ if (fOverlayStore != null) {
+ if (fPreferenceChangeListener != null) {
+ fOverlayStore.removePropertyChangeListener(fPreferenceChangeListener);
+ fPreferenceChangeListener= null;
+ }
+ fOverlayStore.stop();
+ fOverlayStore= null;
+ }
+
+ super.dispose();
+ }
+
+ static public boolean getSaveAllEditors() {
+ IPreferenceStore store= CompareUIPlugin.getDefault().getPreferenceStore();
+ return store.getBoolean(PREF_SAVE_ALL_EDITORS);
+ }
+
+ static public void setSaveAllEditors(boolean value) {
+ IPreferenceStore store= CompareUIPlugin.getDefault().getPreferenceStore();
+ store.setValue(PREF_SAVE_ALL_EDITORS, value);
+ }
+
+ /*
+ * @see PreferencePage#createContents(Composite)
+ */
+ protected Control createContents(Composite parent) {
+
+ PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, ICompareContextIds.COMPARE_PREFERENCE_PAGE);
+
+ fOverlayStore.load();
+ fOverlayStore.start();
+
+ TabFolder folder= new TabFolder(parent, SWT.NONE);
+ folder.setLayout(new TabFolderLayout());
+ folder.setLayoutData(new GridData(GridData.FILL_BOTH));
+
+ TabItem item= new TabItem(folder, SWT.NONE);
+ item.setText(Utilities.getString("ComparePreferencePage.generalTab.label")); //$NON-NLS-1$
+ //item.setImage(JavaPluginImages.get(JavaPluginImages.IMG_OBJS_CFILE));
+ item.setControl(createGeneralPage(folder));
+
+ item= new TabItem(folder, SWT.NONE);
+ item.setText(Utilities.getString("ComparePreferencePage.textCompareTab.label")); //$NON-NLS-1$
+ //item.setImage(JavaPluginImages.get(JavaPluginImages.IMG_OBJS_CFILE));
+ item.setControl(createTextComparePage(folder));
+
+ initializeFields();
+ Dialog.applyDialogFont(folder);
+ return folder;
+ }
+
+ private Control createGeneralPage(Composite parent) {
+ Composite composite= new Composite(parent, SWT.NULL);
+ GridLayout layout= new GridLayout();
+ layout.numColumns= 1;
+ composite.setLayout(layout);
+
+ addCheckBox(composite, "ComparePreferencePage.structureCompare.label", OPEN_STRUCTURE_COMPARE, 0); //$NON-NLS-1$
+ addCheckBox(composite, "ComparePreferencePage.structureOutline.label", USE_OUTLINE_VIEW, 0); //$NON-NLS-1$
+ addCheckBox(composite, "ComparePreferencePage.ignoreWhitespace.label", IGNORE_WHITESPACE, 0); //$NON-NLS-1$
+
+ // a spacer
+ new Label(composite, SWT.NONE);
+
+ addCheckBox(composite, "ComparePreferencePage.saveBeforePatching.label", PREF_SAVE_ALL_EDITORS, 0); //$NON-NLS-1$
+
+ // a spacer
+ new Label(composite, SWT.NONE);
+
+ Label l= new Label(composite, SWT.WRAP);
+ l.setText(Utilities.getString("ComparePreferencePage.regex.description")); //$NON-NLS-1$
+
+ Composite c2= new Composite(composite, SWT.NONE);
+ c2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ layout= new GridLayout(2, false);
+ layout.marginWidth= 0;
+ c2.setLayout(layout);
+
+ l= new Label(c2, SWT.NONE);
+ l.setText(Utilities.getString("ComparePreferencePage.regexAdded.label")); //$NON-NLS-1$
+ addedLinesRegex = new Text(c2, SWT.BORDER);
+ addedLinesRegex.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ addedLinesRegex.setText(fOverlayStore.getString(ADDED_LINES_REGEX));
+
+ l= new Label(c2, SWT.NONE);
+ l.setText(Utilities.getString("ComparePreferencePage.regexRemoved.label")); //$NON-NLS-1$
+ removedLinesRegex = new Text(c2, SWT.BORDER);
+ removedLinesRegex.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ removedLinesRegex.setText(fOverlayStore.getString(REMOVED_LINES_REGEX));
+
+ // a spacer
+ new Label(composite, SWT.NONE);
+
+ l= new Label(composite, SWT.WRAP);
+ l.setText(Utilities.getString("ComparePreferencePage.filter.description")); //$NON-NLS-1$
+
+ Composite c3= new Composite(composite, SWT.NONE);
+ c3.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ layout= new GridLayout(2, false);
+ layout.marginWidth= 0;
+ c3.setLayout(layout);
+
+ l= new Label(c3, SWT.NONE);
+ l.setText(Utilities.getString("ComparePreferencePage.filter.label")); //$NON-NLS-1$
+
+ fFilters= new Text(c3, SWT.BORDER);
+ fFilters.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ fFilters.setText(fOverlayStore.getString(PATH_FILTER));
+ fFilters.addModifyListener(
+ new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ String filters= fFilters.getText();
+ String message= CompareFilter.validateResourceFilters(filters);
+ setValid(message == null);
+ setMessage(null);
+ setErrorMessage(message);
+ fOverlayStore.setValue(PATH_FILTER, filters);
+ }
+ }
+ );
+
+ return composite;
+ }
+
+ private Control createTextComparePage(Composite parent) {
+
+ Composite composite= new Composite(parent, SWT.NULL);
+ GridLayout layout= new GridLayout();
+ layout.numColumns= 1;
+ composite.setLayout(layout);
+
+ addCheckBox(composite, "ComparePreferencePage.synchronizeScrolling.label", SYNCHRONIZE_SCROLLING, 0); //$NON-NLS-1$
+ addCheckBox(composite, "ComparePreferencePage.initiallyShowAncestorPane.label", INITIALLY_SHOW_ANCESTOR_PANE, 0); //$NON-NLS-1$
+ addCheckBox(composite, "ComparePreferencePage.showPseudoConflicts.label", SHOW_PSEUDO_CONFLICTS, 0); //$NON-NLS-1$
+
+ //addCheckBox(composite, "ComparePreferencePage.useSplines.label", USE_SPLINES, 0); //$NON-NLS-1$
+ addCheckBox(composite, "ComparePreferencePage.useSingleLine.label", USE_SINGLE_LINE, 0); //$NON-NLS-1$
+ addCheckBox(composite, "ComparePreferencePage.highlightTokenChanges.label", HIGHLIGHT_TOKEN_CHANGES, 0); //$NON-NLS-1$
+ //addCheckBox(composite, "ComparePreferencePage.useResolveUI.label", USE_RESOLVE_UI, 0); //$NON-NLS-1$
+ addCheckBox(composite, "ComparePreferencePage.disableCapping.label", CAPPING_DISABLED, 0); //$NON-NLS-1$
+
+ Composite radioGroup = new Composite(composite, SWT.NULL);
+ radioGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+ editor = new RadioGroupFieldEditor(ICompareUIConstants.PREF_NAVIGATION_END_ACTION, CompareMessages.ComparePreferencePage_0, 1,
+ new String[][] {
+ new String[] { CompareMessages.ComparePreferencePage_1, ICompareUIConstants.PREF_VALUE_PROMPT },
+ new String[] { CompareMessages.ComparePreferencePage_2, ICompareUIConstants.PREF_VALUE_LOOP },
+ new String[] { CompareMessages.ComparePreferencePage_3, ICompareUIConstants.PREF_VALUE_NEXT },
+ new String[] { CompareMessages.ComparePreferencePage_4, ICompareUIConstants.PREF_VALUE_DO_NOTHING}
+ },
+ radioGroup, true);
+ editor.setPreferenceStore(fOverlayStore);
+ editor.fillIntoGrid(radioGroup, 1);
+
+ // a spacer
+ Label separator= new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL);
+ separator.setVisible(false);
+
+ Label previewLabel= new Label(composite, SWT.NULL);
+ previewLabel.setText(Utilities.getString("ComparePreferencePage.preview.label")); //$NON-NLS-1$
+
+ Control previewer= createPreviewer(composite);
+ GridData gd= new GridData(GridData.FILL_BOTH);
+ gd.widthHint= convertWidthInCharsToPixels(60);
+ gd.heightHint= convertHeightInCharsToPixels(13);
+ previewer.setLayoutData(gd);
+
+ PreferenceLinkArea area = new PreferenceLinkArea(composite, SWT.NONE,
+ "org.eclipse.ui.preferencePages.ColorsAndFonts", Utilities.getString("ComparePreferencePage.colorAndFontLink"), //$NON-NLS-1$ //$NON-NLS-2$
+ (IWorkbenchPreferenceContainer)getContainer(), "selectCategory:org.eclipse.compare.contentmergeviewer.TextMergeViewer"); //$NON-NLS-1$
+
+ GridData data= new GridData(SWT.FILL, SWT.CENTER, false, false);
+ area.getControl().setLayoutData(data);
+
+ return composite;
+ }
+
+ private Control createPreviewer(Composite parent) {
+
+ fCompareConfiguration= new CompareConfiguration(fOverlayStore);
+ fCompareConfiguration.setAncestorLabel(Utilities.getString("ComparePreferencePage.ancestor.label")); //$NON-NLS-1$
+
+ fCompareConfiguration.setLeftLabel(Utilities.getString("ComparePreferencePage.left.label")); //$NON-NLS-1$
+ fCompareConfiguration.setLeftEditable(false);
+
+ fCompareConfiguration.setRightLabel(Utilities.getString("ComparePreferencePage.right.label")); //$NON-NLS-1$
+ fCompareConfiguration.setRightEditable(false);
+
+ fPreviewViewer= new TextMergeViewer(parent, SWT.BORDER, fCompareConfiguration);
+
+ fPreviewViewer.setInput(
+ new DiffNode(Differencer.CONFLICTING,
+ new FakeInput("ComparePreferencePage.previewAncestor"), //$NON-NLS-1$
+ new FakeInput("ComparePreferencePage.previewLeft"), //$NON-NLS-1$
+ new FakeInput("ComparePreferencePage.previewRight") //$NON-NLS-1$
+ )
+ );
+
+ Control c= fPreviewViewer.getControl();
+ c.addDisposeListener(new DisposeListener() {
+ public void widgetDisposed(DisposeEvent e) {
+ if (fCompareConfiguration != null)
+ fCompareConfiguration.dispose();
+ }
+ });
+
+ return c;
+ }
+
+ private void initializeFields() {
+
+ Iterator e= fCheckBoxes.keySet().iterator();
+ while (e.hasNext()) {
+ Button b= (Button) e.next();
+ String key= (String) fCheckBoxes.get(b);
+ b.setSelection(fOverlayStore.getBoolean(key));
+ }
+
+ if (fFilters != null)
+ fFilters.setText(fOverlayStore.getString(PATH_FILTER));
+ if (addedLinesRegex != null)
+ addedLinesRegex.setText(fOverlayStore.getString(ADDED_LINES_REGEX));
+ if (removedLinesRegex != null)
+ removedLinesRegex.setText(fOverlayStore.getString(REMOVED_LINES_REGEX));
+
+ editor.load();
+ }
+
+ // overlay stuff
+
+ private Button addCheckBox(Composite parent, String labelKey, String key, int indentation) {
+
+ String label= Utilities.getString(labelKey);
+
+ Button checkBox= new Button(parent, SWT.CHECK);
+ checkBox.setText(label);
+
+ GridData gd= new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalIndent= indentation;
+ gd.horizontalSpan= 2;
+ checkBox.setLayoutData(gd);
+
+ if (fCheckBoxListener == null) {
+ fCheckBoxListener= new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ Button button= (Button) e.widget;
+ fOverlayStore.setValue((String) fCheckBoxes.get(button), button.getSelection());
+ }
+ };
+ }
+ checkBox.addSelectionListener(fCheckBoxListener);
+
+ fCheckBoxes.put(checkBox, key);
+
+ return checkBox;
+ }
+
+ private String loadPreviewContentFromFile(String key) {
+
+ String preview= Utilities.getString(key);
+ String separator= System.getProperty("line.separator"); //$NON-NLS-1$
+ StringBuffer buffer= new StringBuffer();
+ for (int i= 0; i < preview.length(); i++) {
+ char c= preview.charAt(i);
+ if (c == '\n')
+ buffer.append(separator);
+ else
+ buffer.append(c);
+ }
+ return buffer.toString();
+ }
+}

Back to the top