diff options
author | Michael Valenta | 2004-04-28 15:44:22 +0000 |
---|---|---|
committer | Michael Valenta | 2004-04-28 15:44:22 +0000 |
commit | 9a132b16227c28211eb4a9e5c799c67b26615b84 (patch) | |
tree | e72af8169dfcea20e3ddeee8a7cf49908ed65005 /bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java | |
parent | e91862badfc991f88a65f6a32e7a0c3bb214560a (diff) | |
download | eclipse.platform.team-9a132b16227c28211eb4a9e5c799c67b26615b84.tar.gz eclipse.platform.team-9a132b16227c28211eb4a9e5c799c67b26615b84.tar.xz eclipse.platform.team-9a132b16227c28211eb4a9e5c799c67b26615b84.zip |
Initial release of page based synchronize API
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java')
-rw-r--r-- | bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java | 61 |
1 files changed, 48 insertions, 13 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java index e1e8d53bf..3e4421541 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java @@ -12,21 +12,28 @@ package org.eclipse.team.internal.ccvs.ui.subscriber; import java.util.ArrayList; import java.util.List; - import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.*; +import org.eclipse.jface.action.IToolBarManager; import org.eclipse.team.core.subscribers.Subscriber; import org.eclipse.team.internal.ccvs.core.*; import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin; import org.eclipse.team.internal.ccvs.ui.Policy; +import org.eclipse.team.internal.ui.Utils; +import org.eclipse.team.internal.ui.synchronize.ActionDelegateWrapper; import org.eclipse.team.ui.TeamUI; import org.eclipse.team.ui.synchronize.*; -import org.eclipse.team.ui.synchronize.subscribers.SubscriberParticipant; -import org.eclipse.ui.IMemento; -import org.eclipse.ui.PartInitException; +import org.eclipse.ui.*; -public class MergeSynchronizeParticipant extends SubscriberParticipant { +public class MergeSynchronizeParticipant extends CVSParticipant { + + /** + * The id of a workspace action group to which additions actions can + * be added. + */ + public static final String ACTION_GROUP = "cvs_merge_actions"; //$NON-NLS-1$ + private final static String CTX_ROOT = "root"; //$NON-NLS-1$ private final static String CTX_ROOT_PATH = "root_resource"; //$NON-NLS-1$ @@ -35,23 +42,39 @@ public class MergeSynchronizeParticipant extends SubscriberParticipant { private final static String CTX_END_TAG = "end_tag"; //$NON-NLS-1$ private final static String CTX_END_TAG_TYPE = "end_tag_type"; //$NON-NLS-1$ + /** + * Actions for the merge particpant's toolbar + */ + public class MergeParticipantActionContribution extends SynchronizePageActionGroup { + private ActionDelegateWrapper updateAdapter; + public void initialize(ISynchronizePageConfiguration configuration) { + super.initialize(configuration); + MergeUpdateAction action = new MergeUpdateAction(); + action.setPromptBeforeUpdate(true); + updateAdapter = new ActionDelegateWrapper(action, configuration.getSite().getPart()); + Utils.initAction(updateAdapter, "action.SynchronizeViewUpdate.", Policy.getBundle()); //$NON-NLS-1$ + super.initialize(configuration); + } + public void modelChanged(ISynchronizeModelElement input) { + if (updateAdapter == null) return; + updateAdapter.setSelection(input); + } + public void fillActionBars(IActionBars actionBars) { + IToolBarManager toolbar = actionBars.getToolBarManager(); + appendToGroup(toolbar, ACTION_GROUP, updateAdapter); + super.fillActionBars(actionBars); + } + } + public MergeSynchronizeParticipant() { super(); } public MergeSynchronizeParticipant(CVSMergeSubscriber subscriber) { - super(); setSubscriber(subscriber); } /* (non-Javadoc) - * @see org.eclipse.team.ui.synchronize.subscriber.SubscriberParticipant#createSynchronizeViewerAdvisor(org.eclipse.team.ui.synchronize.ISynchronizeView) - */ - protected StructuredViewerAdvisor createSynchronizeViewerAdvisor(ISynchronizeView view) { - return new MergeSynchronizeAdvisor(view, this); - } - - /* (non-Javadoc) * @see org.eclipse.team.ui.sync.SubscriberParticipant#setSubscriber(org.eclipse.team.core.subscribers.TeamSubscriber) */ public void setSubscriber(Subscriber subscriber) { @@ -163,4 +186,16 @@ public class MergeSynchronizeParticipant extends SubscriberParticipant { private void flushStateCache() { ((CVSMergeSubscriber)getSubscriber()).cancel(); } + + /* (non-Javadoc) + * @see org.eclipse.team.ui.synchronize.subscribers.SubscriberParticipant#initializeConfiguration(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration) + */ + protected void initializeConfiguration(ISynchronizePageConfiguration configuration) { + super.initializeConfiguration(configuration); + configuration.addMenuGroup(ISynchronizePageConfiguration.P_TOOLBAR_MENU, ACTION_GROUP); + configuration.addMenuGroup(ISynchronizePageConfiguration.P_TOOLBAR_MENU, ISynchronizePageConfiguration.REMOVE_PARTICPANT_GROUP); + configuration.setSupportedModes(ISynchronizePageConfiguration.INCOMING_MODE | ISynchronizePageConfiguration.CONFLICTING_MODE); + configuration.setMode(ISynchronizePageConfiguration.INCOMING_MODE); + configuration.addActionContribution(new MergeParticipantActionContribution()); + } }
\ No newline at end of file |