Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcvs2001-05-11 14:35:07 +0000
committercvs2001-05-11 14:35:07 +0000
commitb850a81a27339f63c321ab7669623421e4b43328 (patch)
tree74573f455628efe4fcd8490969637c336564ff73 /bundles/org.eclipse.compare/compare
parent9a94b6d48f7100240fb64e4b74a7bbe2ba11d4bb (diff)
downloadeclipse.platform.team-b850a81a27339f63c321ab7669623421e4b43328.tar.gz
eclipse.platform.team-b850a81a27339f63c321ab7669623421e4b43328.tar.xz
eclipse.platform.team-b850a81a27339f63c321ab7669623421e4b43328.zip
Added Preference Page
Diffstat (limited to 'bundles/org.eclipse.compare/compare')
-rw-r--r--bundles/org.eclipse.compare/compare/org/eclipse/compare/CompareConfiguration.java13
-rw-r--r--bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/ContentMergeViewer.java3
-rw-r--r--bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java53
-rw-r--r--bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareEditorContributor.java8
-rw-r--r--bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ComparePluginResources.properties24
-rw-r--r--bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ComparePreferencePage.java68
-rw-r--r--bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareUIPlugin.java20
-rw-r--r--bundles/org.eclipse.compare/compare/org/eclipse/compare/structuremergeviewer/DiffTreeViewer.java29
8 files changed, 166 insertions, 52 deletions
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/CompareConfiguration.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/CompareConfiguration.java
index 4563995a9..2c52ea3ee 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/CompareConfiguration.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/CompareConfiguration.java
@@ -8,12 +8,13 @@ package org.eclipse.compare;
import java.util.HashMap;
import org.eclipse.swt.graphics.Image;
+
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.util.*;
+import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.compare.internal.DiffImage;
-import org.eclipse.compare.internal.CompareUIPlugin;
-import org.eclipse.compare.structuremergeviewer.DiffTreeViewer;
+import org.eclipse.compare.internal.*;
+//import org.eclipse.compare.structuremergeviewer.DiffTreeViewer;
import org.eclipse.compare.structuremergeviewer.Differencer;
/**
@@ -88,6 +89,12 @@ public class CompareConfiguration {
* suitable default labels, and no images.
*/
public CompareConfiguration() {
+
+ IPreferenceStore ps= CompareUIPlugin.getDefault().getPreferenceStore();
+ if (ps != null) {
+ boolean b= ps.getBoolean(ComparePreferencePage.INITIALLY_SHOW_ANCESTOR_PANE);
+ setProperty(ComparePreferencePage.INITIALLY_SHOW_ANCESTOR_PANE, new Boolean(b));
+ }
}
/**
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/ContentMergeViewer.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/ContentMergeViewer.java
index a456529e1..20b987776 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/ContentMergeViewer.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/ContentMergeViewer.java
@@ -58,7 +58,7 @@ public abstract class ContentMergeViewer extends ContentViewer implements IPrope
/**
* Property names.
*/
- private static final String ANCESTOR_ENABLED= "ANCESTOR_ENABLED";
+ private static final String ANCESTOR_ENABLED= ComparePreferencePage.INITIALLY_SHOW_ANCESTOR_PANE;
/* package */ static final int HORIZONTAL= 1;
/* package */ static final int VERTICAL= 2;
@@ -259,6 +259,7 @@ public abstract class ContentMergeViewer extends ContentViewer implements IPrope
fStyles= style;
fBundle= bundle;
+
fAncestorEnabled= Utilities.getBoolean(cc, ANCESTOR_ENABLED, fAncestorEnabled);
setContentProvider(new MergeViewerContentProvider(cc));
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java
index 564230b0c..945f9f9eb 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java
@@ -28,7 +28,9 @@ import org.eclipse.jface.action.*;
import org.eclipse.jface.text.*;
import org.eclipse.jface.text.source.SourceViewer;
import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.core.runtime.CoreException;
@@ -43,10 +45,12 @@ import org.eclipse.compare.internal.Utilities;
import org.eclipse.compare.internal.TokenComparator;
import org.eclipse.compare.internal.ChangePropertyAction;
import org.eclipse.compare.internal.CompareEditor;
-import org.eclipse.compare.rangedifferencer.RangeDifference;
-import org.eclipse.compare.rangedifferencer.RangeDifferencer;
import org.eclipse.compare.internal.DocLineComparator;
+import org.eclipse.compare.internal.ComparePreferencePage;
+import org.eclipse.compare.internal.CompareUIPlugin;
+import org.eclipse.compare.rangedifferencer.RangeDifference;
+import org.eclipse.compare.rangedifferencer.RangeDifferencer;
/**
* A text merge viewer uses the <code>RangeDifferencer</code> to perform a
@@ -137,6 +141,8 @@ public class TextMergeViewer extends ContentMergeViewer {
private IDocumentListener fDocumentListener;
+ private IPropertyChangeListener fPreferenceChangeListener;
+
/** All diffs for calculating scrolling position (includes line ranges without changes) */
private ArrayList fAllDiffs;
/** Subset of above: just real differences. */
@@ -332,7 +338,17 @@ public class TextMergeViewer extends ContentMergeViewer {
buildControl(parent);
- fSynchronizedScrolling= Utilities.getBoolean(configuration, SYNC_SCROLLING, fSynchronizedScrolling);
+ IPreferenceStore ps= CompareUIPlugin.getDefault().getPreferenceStore();
+ if (ps != null) {
+ fPreferenceChangeListener= new IPropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent event) {
+ TextMergeViewer.this.propertyChange(event);
+ }
+ };
+ ps.addPropertyChangeListener(fPreferenceChangeListener);
+ //fSynchronizedScrolling= ps.getBoolean(ComparePreferencePage.SYNCHRONIZE_SCROLLING);
+ }
+ //fSynchronizedScrolling= Utilities.getBoolean(configuration, SYNC_SCROLLING, fSynchronizedScrolling);
fDocumentListener= new IDocumentListener() {
@@ -397,6 +413,13 @@ public class TextMergeViewer extends ContentMergeViewer {
*/
protected void handleDispose(DisposeEvent event) {
+ if (fPreferenceChangeListener != null) {
+ IPreferenceStore ps= CompareUIPlugin.getDefault().getPreferenceStore();
+ if (ps != null)
+ ps.removePropertyChangeListener(fPreferenceChangeListener);
+ fPreferenceChangeListener= null;
+ }
+
fLeftCanvas= null;
fRightCanvas= null;
fVScrollBar= null;
@@ -1407,13 +1430,13 @@ public class TextMergeViewer extends ContentMergeViewer {
// );
// tbm.appendToGroup("merge", fRejectItem);
//
- Action a= new ChangePropertyAction(getResourceBundle(), getCompareConfiguration(), "action.SynchMode.", SYNC_SCROLLING);
- a.setChecked(fSynchronizedScrolling);
- tbm.appendToGroup("modes", a);
+// Action a= new ChangePropertyAction(getResourceBundle(), getCompareConfiguration(), "action.SynchMode.", SYNC_SCROLLING);
+// a.setChecked(fSynchronizedScrolling);
+// tbm.appendToGroup("modes", a);
tbm.add(new Separator());
- a= new Action() {
+ Action a= new Action() {
public void run() {
navigate(true);
}
@@ -1473,12 +1496,22 @@ public class TextMergeViewer extends ContentMergeViewer {
updateVScrollBar();
selectFirstDiff();
- } else if (key.equals(SYNC_SCROLLING)) {
+// } else if (key.equals(SYNC_SCROLLING)) {
+//
+// boolean b= Utilities.getBoolean(getCompareConfiguration(), SYNC_SCROLLING, true);
+// if (b != fSynchronizedScrolling)
+// toggleSynchMode();
+
+ } else if (key.equals(ComparePreferencePage.SYNCHRONIZE_SCROLLING)) {
- boolean b= Utilities.getBoolean(getCompareConfiguration(), SYNC_SCROLLING, true);
+ IPreferenceStore ps= CompareUIPlugin.getDefault().getPreferenceStore();
+
+ boolean b= ps.getBoolean(ComparePreferencePage.SYNCHRONIZE_SCROLLING);
+
+ //boolean b= Utilities.getBoolean(getCompareConfiguration(), SYNC_SCROLLING, true);
if (b != fSynchronizedScrolling)
toggleSynchMode();
-
+
} else
super.propertyChange(event);
}
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareEditorContributor.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareEditorContributor.java
index cc25023ad..3f3569334 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareEditorContributor.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareEditorContributor.java
@@ -21,19 +21,19 @@ public class CompareEditorContributor extends EditorActionBarContributor {
private IEditorPart fActiveEditorPart= null;
private IgnoreWhiteSpaceAction fIgnoreWhitespace;
- private ShowPseudoConflicts fShowPseudoConflicts;
+ //private ShowPseudoConflicts fShowPseudoConflicts;
public CompareEditorContributor() {
ResourceBundle bundle= CompareUIPlugin.getResourceBundle();
fIgnoreWhitespace= new IgnoreWhiteSpaceAction(bundle, null);
- fShowPseudoConflicts= new ShowPseudoConflicts(bundle, null);
+ //fShowPseudoConflicts= new ShowPseudoConflicts(bundle, null);
}
public void contributeToToolBar(IToolBarManager tbm) {
tbm.add(new Separator());
tbm.add(fIgnoreWhitespace);
- tbm.add(fShowPseudoConflicts);
+ //tbm.add(fShowPseudoConflicts);
}
public void setActiveEditor(IEditorPart targetEditor) {
@@ -47,7 +47,7 @@ public class CompareEditorContributor extends EditorActionBarContributor {
CompareConfiguration cc= editor.getCompareConfiguration();
fIgnoreWhitespace.setCompareConfiguration(cc);
- fShowPseudoConflicts.setCompareConfiguration(cc);
+ //fShowPseudoConflicts.setCompareConfiguration(cc);
}
}
}
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ComparePluginResources.properties b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ComparePluginResources.properties
deleted file mode 100644
index 39f078ca0..000000000
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ComparePluginResources.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-# =====================================
-# Licensed Materials - Property of IBM,
-# WebSphere Studio Workbench
-# (c) Copyright IBM Corp 1999-2001
-# =====================================
-# @(#)ComparePluginResources.properties
-#
-# Resource strings for Compare Plugin
-
-#####################################################
-# Actions
-#####################################################
-
-action.IgnoreWhiteSpace.label=Ignore White Space
-action.IgnoreWhiteSpace.tooltip=Ignore white space where applicable
-action.IgnoreWhiteSpace.image=etool16/ignorews_edit.gif
-
-action.ShowPseudoConflicts.label=Show Pseudo Conflicts
-action.ShowPseudoConflicts.tooltip=Show pseudo conflicts where applicable
-action.ShowPseudoConflicts.image=etool16/conflict_edit.gif
-
-
-
-
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..bd2e196ca
--- /dev/null
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ComparePreferencePage.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed Materials - Property of IBM,
+ * WebSphere Studio Workbench
+ * (c) Copyright IBM Corp 2000, 2001
+ */
+package org.eclipse.compare.internal;
+
+import java.util.ResourceBundle;
+import org.eclipse.swt.widgets.Composite; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage;
+
+public class ComparePreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+ private static final String PREFIX= CompareUIPlugin.PLUGIN_ID + ".";
+ public static final String SYNCHRONIZE_SCROLLING= PREFIX + "SynchronizeScrolling";
+ public static final String SHOW_PSEUDO_CONFLICTS= PREFIX + "ShowPseudoConflicts";
+ public static final String INITIALLY_SHOW_ANCESTOR_PANE= PREFIX + "InitiallyShowAncestorPane";
+
+ private ResourceBundle fResourceBundle;
+
+
+ public ComparePreferencePage() {
+ super(GRID);
+ fResourceBundle= CompareUIPlugin.getResourceBundle();
+ }
+
+ public static void initDefaults(IPreferenceStore store) {
+ store.setDefault(SYNCHRONIZE_SCROLLING, true);
+ store.setDefault(SHOW_PSEUDO_CONFLICTS, false);
+ store.setDefault(INITIALLY_SHOW_ANCESTOR_PANE, false);
+ }
+
+ public void init(IWorkbench workbench) {
+ }
+
+ protected IPreferenceStore doGetPreferenceStore() {
+ return CompareUIPlugin.getDefault().getPreferenceStore();
+ }
+
+ public void createFieldEditors() {
+
+ Composite parent= getFieldEditorParent();
+
+ {
+ BooleanFieldEditor editor= new BooleanFieldEditor(SYNCHRONIZE_SCROLLING,
+ getResourceString(SYNCHRONIZE_SCROLLING), BooleanFieldEditor.DEFAULT, parent);
+ addField(editor);
+ }
+
+ // three way merging
+ {
+ BooleanFieldEditor editor= new BooleanFieldEditor(SHOW_PSEUDO_CONFLICTS,
+ getResourceString(SHOW_PSEUDO_CONFLICTS), BooleanFieldEditor.DEFAULT, parent);
+ addField(editor);
+ }
+
+ {
+ BooleanFieldEditor editor= new BooleanFieldEditor(INITIALLY_SHOW_ANCESTOR_PANE,
+ getResourceString(INITIALLY_SHOW_ANCESTOR_PANE), BooleanFieldEditor.DEFAULT, parent);
+ addField(editor);
+ }
+ }
+
+ private String getResourceString(String key) {
+ int pos= key.lastIndexOf(".");
+ return Utilities.getString(fResourceBundle, key.substring(pos+1) + ".label", key);
+ }
+}
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareUIPlugin.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareUIPlugin.java
index af07a9e2f..edb6a17e2 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareUIPlugin.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareUIPlugin.java
@@ -22,6 +22,7 @@ import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.util.Assert;
+import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.ui.internal.SharedImages;
import org.eclipse.core.runtime.*;
@@ -53,16 +54,14 @@ public final class CompareUIPlugin extends AbstractUIPlugin {
private final static String CLASS_ATTRIBUTE= "class";
private final static String EXTENSIONS_ATTRIBUTE= "extensions";
- private static final String RESOURCE_BUNDLE= "org.eclipse.compare.internal.ComparePluginResources";
-
- private static final String PLUGIN_ID= "org.eclipse.compare";
+ public static final String PLUGIN_ID= "org.eclipse.compare";
private static final String STRUCTURE_CREATOR_EXTENSION_POINT= "structureCreators";
private static final String STRUCTURE_MERGEVIEWER_EXTENSION_POINT= "structureMergeViewers";
private static final String CONTENT_MERGEVIEWER_EXTENSION_POINT= "contentMergeViewers";
private static final String CONTENT_VIEWER_EXTENSION_POINT= "contentViewers";
- private static final String COMPARE_EDITOR= "org.eclipse.compare.CompareEditor";
+ private static final String COMPARE_EDITOR= PLUGIN_ID + ".CompareEditor";
private static final String COMPARE= "Compare";
private static final String COMPARE_FAILED= "Compare failed";
@@ -104,10 +103,21 @@ public final class CompareUIPlugin extends AbstractUIPlugin {
fgComparePlugin= this;
+ fgResourceBundle= descriptor.getResourceBundle();
+
registerExtensions();
}
/**
+ * @see AbstractUIPlugin#initializeDefaultPreferences
+ */
+ protected void initializeDefaultPreferences(IPreferenceStore store) {
+ super.initializeDefaultPreferences(store);
+
+ ComparePreferencePage.initDefaults(store);
+ }
+
+ /**
* Registers all structure creators, content merge viewers, and structure merge viewers
* that are found in the XML plugin files.
*/
@@ -175,8 +185,6 @@ public final class CompareUIPlugin extends AbstractUIPlugin {
* @return the plugin's resource bundle
*/
public static ResourceBundle getResourceBundle() {
- if (fgResourceBundle == null)
- fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
return fgResourceBundle;
}
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/structuremergeviewer/DiffTreeViewer.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/structuremergeviewer/DiffTreeViewer.java
index bfbcbb742..3a4a12546 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/structuremergeviewer/DiffTreeViewer.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/structuremergeviewer/DiffTreeViewer.java
@@ -17,6 +17,7 @@ import org.eclipse.swt.widgets.*;
import org.eclipse.jface.util.*;
import org.eclipse.jface.action.*;
import org.eclipse.jface.viewers.*;
+import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.compare.internal.*;
import org.eclipse.compare.*;
@@ -120,6 +121,7 @@ public class DiffTreeViewer extends TreeViewer {
private CompareConfiguration fCompareConfiguration;
private ViewerFilter fViewerFilter;
private IPropertyChangeListener fPropertyChangeListener;
+ private IPropertyChangeListener fPreferenceChangeListener;
private Action fCopyLeftToRightAction;
private Action fCopyRightToLeftAction;
@@ -158,6 +160,7 @@ public class DiffTreeViewer extends TreeViewer {
fBundle= ResourceBundle.getBundle("org.eclipse.compare.structuremergeviewer.DiffTreeViewerResources");
+ // register for notification with the CompareConfiguration
fCompareConfiguration= configuration;
if (fCompareConfiguration != null) {
fPropertyChangeListener= new IPropertyChangeListener() {
@@ -165,10 +168,21 @@ public class DiffTreeViewer extends TreeViewer {
DiffTreeViewer.this.propertyChange(event);
}
};
-
fCompareConfiguration.addPropertyChangeListener(fPropertyChangeListener);
- }
+ }
+
+ // register for notification with the Compare plugin's PreferenceStore
+ fPreferenceChangeListener= new IPropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent event) {
+ if (event.getProperty().equals(CompareConfiguration.SHOW_PSEUDO_CONFLICTS))
+ syncShowPseudoConflictFilter();
+ }
+ };
+ IPreferenceStore ps= CompareUIPlugin.getDefault().getPreferenceStore();
+ if (ps != null)
+ ps.addPropertyChangeListener(fPreferenceChangeListener);
+
setContentProvider(new DiffViewerContentProvider());
setLabelProvider(new DiffViewerLabelProvider());
@@ -243,6 +257,13 @@ public class DiffTreeViewer extends TreeViewer {
* Clients may extend if they have to do additional cleanup.
*/
protected void handleDispose(DisposeEvent event) {
+
+ if (fPreferenceChangeListener != null) {
+ IPreferenceStore ps= CompareUIPlugin.getDefault().getPreferenceStore();
+ if (ps != null)
+ ps.addPropertyChangeListener(fPreferenceChangeListener);
+ fPreferenceChangeListener= null;
+ }
if (fCompareConfiguration != null) {
if (fPropertyChangeListener != null)
@@ -260,8 +281,8 @@ public class DiffTreeViewer extends TreeViewer {
*/
protected void propertyChange(PropertyChangeEvent event) {
- if (event.getProperty().equals(CompareConfiguration.SHOW_PSEUDO_CONFLICTS))
- syncShowPseudoConflictFilter();
+ //if (event.getProperty().equals(CompareConfiguration.SHOW_PSEUDO_CONFLICTS))
+ // syncShowPseudoConflictFilter();
}
protected void inputChanged(Object in, Object oldInput) {

Back to the top