diff options
author | Jean Michel-Lemieux | 2004-04-28 15:47:33 +0000 |
---|---|---|
committer | Jean Michel-Lemieux | 2004-04-28 15:47:33 +0000 |
commit | e6114da11c69e5ca894f53dddf710a0fd9a298cb (patch) | |
tree | 03bdfe00ebfc3bae3dd471e782c93df6ae2ce974 | |
parent | e40d67f91824e5b190acce85bc936794946a5f34 (diff) | |
download | eclipse.platform.team-branch_20040402_layoutOptionsInSynchronizeAdvisor.tar.gz eclipse.platform.team-branch_20040402_layoutOptionsInSynchronizeAdvisor.tar.xz eclipse.platform.team-branch_20040402_layoutOptionsInSynchronizeAdvisor.zip |
*** empty log message ***branch_20040402_layoutOptionsInSynchronizeAdvisor
6 files changed, 35 insertions, 10 deletions
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/HierarchicalModelManager.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/HierarchicalModelManager.java index ae8c97787..c3769aa73 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/HierarchicalModelManager.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/HierarchicalModelManager.java @@ -14,7 +14,6 @@ import org.eclipse.team.core.synchronize.SyncInfoTree; import org.eclipse.team.internal.ui.IPreferenceIds; import org.eclipse.team.internal.ui.TeamUIPlugin; import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration; -import org.eclipse.team.ui.synchronize.StructuredViewerAdvisor; /** * Manager for hierarchical models @@ -24,8 +23,8 @@ public class HierarchicalModelManager extends SynchronizeModelManager { /** * @param configuration */ - public HierarchicalModelManager(StructuredViewerAdvisor advisor, ISynchronizePageConfiguration configuration) { - super(advisor, configuration); + public HierarchicalModelManager(ISynchronizePageConfiguration configuration) { + super(configuration); } /* (non-Javadoc) diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelManager.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelManager.java index fea5b1252..42dc88d12 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelManager.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelManager.java @@ -16,6 +16,7 @@ import org.eclipse.jface.action.*; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.viewers.*; +import org.eclipse.team.internal.core.Assert; import org.eclipse.team.internal.ui.Policy; import org.eclipse.team.ui.synchronize.*; import org.eclipse.ui.IActionBars; @@ -75,13 +76,20 @@ public abstract class SynchronizeModelManager extends SynchronizePageActionGroup } } - public SynchronizeModelManager(StructuredViewerAdvisor advisor, ISynchronizePageConfiguration configuration) { - this.advisor = advisor; + public SynchronizeModelManager(ISynchronizePageConfiguration configuration) { + Assert.isNotNull(configuration, "configuration cannot be null"); //$NON-NLS-1$ this.configuration = configuration; configuration.addActionContribution(this); } /** + * Initialize the model manager to be used with the provided advisor. + */ + public void setViewerAdvisor(StructuredViewerAdvisor advisor) { + this.advisor = advisor; + } + + /** * Return the list of supported model providers for this advisor. * @param viewer * @return diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizePageConfiguration.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizePageConfiguration.java index 4ef14a9a3..35da310e0 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizePageConfiguration.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizePageConfiguration.java @@ -56,6 +56,14 @@ public class SynchronizePageConfiguration extends SynchronizePageActionGroup imp * set. */ public static final String P_ADVISOR = TeamUIPlugin.ID + ".P_ADVISOR"; //$NON-NLS-1$ + + /** + * Property constant for the page's model manager which is + * an instance of <code>SynchronizeModelManager</code>. + * This property can be queried by clients but should not be + * set. + */ + public static final String P_MODEL_MANAGER = TeamUIPlugin.ID + ".P_MODEL_MANAGER"; //$NON-NLS-1$ /** * Property that gives access to a set the diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/StructuredViewerAdvisor.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/StructuredViewerAdvisor.java index be814bc3a..21aa745b8 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/StructuredViewerAdvisor.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/StructuredViewerAdvisor.java @@ -112,7 +112,15 @@ public abstract class StructuredViewerAdvisor { public StructuredViewerAdvisor(ISynchronizePageConfiguration configuration) { this.configuration = configuration; configuration.setProperty(SynchronizePageConfiguration.P_ADVISOR, this); - modelManager = createModelManager(configuration); + + // Allow the configuration to provide it's own model manager but if one isn't initialized, then + // simply use the default provided by the advisor. + modelManager = (SynchronizeModelManager)configuration.getProperty(SynchronizePageConfiguration.P_MODEL_MANAGER); + if(modelManager == null) { + modelManager = createModelManager(configuration); + } + Assert.isNotNull(modelManager, "model manager must be set"); + modelManager.setViewerAdvisor(this); } /** diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/TreeViewerAdvisor.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/TreeViewerAdvisor.java index ff82a2bd0..dfbbc4a5e 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/TreeViewerAdvisor.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/TreeViewerAdvisor.java @@ -244,15 +244,15 @@ public class TreeViewerAdvisor extends StructuredViewerAdvisor { viewer.getControl().setLayoutData(data); initializeViewer(viewer); } - + /** * Create the model manager to be used by this advisor * @param configuration */ protected SynchronizeModelManager createModelManager(ISynchronizePageConfiguration configuration) { - return new HierarchicalModelManager(this, configuration); + return new HierarchicalModelManager(configuration); } - + /* (non-Javadoc) * @see org.eclipse.team.ui.synchronize.viewers.StructuredViewerAdvisor#navigate(boolean) */ diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestTreeViewerAdvisor.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestTreeViewerAdvisor.java index 5d0132396..31d412ef5 100644 --- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestTreeViewerAdvisor.java +++ b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/TestTreeViewerAdvisor.java @@ -26,7 +26,7 @@ public class TestTreeViewerAdvisor extends TreeViewerAdvisor { * @see org.eclipse.team.ui.synchronize.TreeViewerAdvisor#createModelManager(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration) */ protected SynchronizeModelManager createModelManager(ISynchronizePageConfiguration configuration) { - return new SynchronizeModelManager(this, configuration) { + SynchronizeModelManager manager = new SynchronizeModelManager(configuration) { protected ISynchronizeModelProvider createModelProvider(String id) { return new HierarchicalModelProvider(getSyncInfoSet()); } @@ -38,5 +38,7 @@ public class TestTreeViewerAdvisor extends TreeViewerAdvisor { return (SyncInfoTree)getConfiguration().getProperty(ISynchronizePageConfiguration.P_SYNC_INFO_SET); } }; + manager.setViewerAdvisor(this); + return manager; } } |