Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2004-04-28 15:44:22 +0000
committerMichael Valenta2004-04-28 15:44:22 +0000
commit9a132b16227c28211eb4a9e5c799c67b26615b84 (patch)
treee72af8169dfcea20e3ddeee8a7cf49908ed65005 /bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java
parente91862badfc991f88a65f6a32e7a0c3bb214560a (diff)
downloadeclipse.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.java61
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

Back to the top