Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Michel-Lemieux2003-12-13 03:40:46 +0000
committerJean Michel-Lemieux2003-12-13 03:40:46 +0000
commit28ea4399145c0aa72fae323df486ff56654849bb (patch)
tree562405a58789c81545657db1bcaca643a6e4b99e /bundles/org.eclipse.team.cvs.ui
parentef893e2535a0693244772a713a5edd77e6cfbe14 (diff)
downloadeclipse.platform.team-28ea4399145c0aa72fae323df486ff56654849bb.tar.gz
eclipse.platform.team-28ea4399145c0aa72fae323df486ff56654849bb.tar.xz
eclipse.platform.team-28ea4399145c0aa72fae323df486ff56654849bb.zip
*** empty log message ***
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui')
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizard.java6
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizardFinishPage.java190
2 files changed, 179 insertions, 17 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizard.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizard.java
index 72699db59..39b1bc2e3 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizard.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizard.java
@@ -30,7 +30,9 @@ import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
import org.eclipse.team.internal.ccvs.ui.*;
import org.eclipse.team.internal.ccvs.ui.Policy;
import org.eclipse.team.internal.ccvs.ui.operations.ShareProjectOperation;
+import org.eclipse.team.internal.ccvs.ui.subscriber.WorkspaceSynchronizeParticipant;
import org.eclipse.team.ui.IConfigurationWizard;
+import org.eclipse.team.ui.TeamUI;
import org.eclipse.team.ui.synchronize.TeamSubscriberParticipant;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkingSet;
@@ -67,6 +69,7 @@ public class SharingWizard extends Wizard implements IConfigurationWizard {
setDialogSettings(section);
setNeedsProgressMonitor(true);
setWindowTitle(Policy.bind("SharingWizard.title")); //$NON-NLS-1$
+ //set
}
public void addPages() {
@@ -98,7 +101,8 @@ public class SharingWizard extends Wizard implements IConfigurationWizard {
modulePage = new ModuleSelectionPage("modulePage", Policy.bind("SharingWizard.enterModuleName"), sharingImage); //$NON-NLS-1$ //$NON-NLS-2$
modulePage.setDescription(Policy.bind("SharingWizard.enterModuleNameDescription")); //$NON-NLS-1$
addPage(modulePage);
- finishPage = new SharingWizardFinishPage("finishPage", Policy.bind("SharingWizard.readyToFinish"), sharingImage); //$NON-NLS-1$ //$NON-NLS-2$
+ WorkspaceSynchronizeParticipant p = (WorkspaceSynchronizeParticipant)TeamUI.getSynchronizeManager().find(WorkspaceSynchronizeParticipant.ID)[0];
+ finishPage = new SharingWizardFinishPage("finishPage", Policy.bind("SharingWizard.readyToFinish"), p, sharingImage); //$NON-NLS-1$ //$NON-NLS-2$
finishPage.setDescription(Policy.bind("SharingWizard.readyToFinishDescription")); //$NON-NLS-1$
addPage(finishPage);
}
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizardFinishPage.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizardFinishPage.java
index 269f3ab74..5a8c816fa 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizardFinishPage.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizardFinishPage.java
@@ -11,34 +11,192 @@
package org.eclipse.team.internal.ccvs.ui.wizards;
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.*;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.team.internal.ccvs.ui.IHelpContextIds;
-import org.eclipse.team.internal.ccvs.ui.Policy;
-import org.eclipse.ui.help.WorkbenchHelp;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.*;
+import org.eclipse.team.core.TeamException;
+import org.eclipse.team.core.subscribers.SyncInfo;
+import org.eclipse.team.internal.ccvs.ui.subscriber.WorkspaceSynchronizeParticipant;
+import org.eclipse.team.internal.ui.synchronize.SyncChangesTreeViewer;
+import org.eclipse.team.internal.ui.synchronize.compare.SyncInfoCompareInput;
+import org.eclipse.team.internal.ui.synchronize.compare.SyncInfoDiffNode;
+import org.eclipse.team.internal.ui.synchronize.views.TeamSubscriberParticipantLabelProvider;
+import org.eclipse.team.internal.ui.widgets.*;
+import org.eclipse.team.ui.synchronize.ITeamSubscriberParticipantNode;
+import org.eclipse.team.ui.synchronize.SyncChangesViewer;
+import org.eclipse.ui.part.PageBook;
public class SharingWizardFinishPage extends CVSWizardPage {
- public SharingWizardFinishPage(String pageName, String title, ImageDescriptor titleImage) {
+ private WorkspaceSynchronizeParticipant participant;
+
+ public SharingWizardFinishPage(String pageName, String title, WorkspaceSynchronizeParticipant participant, ImageDescriptor titleImage) {
super(pageName, title, titleImage);
+ this.participant = participant;
}
/*
* @see IDialogPage#createControl(Composite)
*/
public void createControl(Composite parent) {
- Composite composite = createComposite(parent, 1);
- // set F1 help
- WorkbenchHelp.setHelp(composite, IHelpContextIds.SHARING_FINISH_PAGE);
- Label label = new Label(composite, SWT.LEFT | SWT.WRAP);
- label.setText(Policy.bind("SharingWizardFinishPage.message")); //$NON-NLS-1$
- GridData data = new GridData();
- data.widthHint = 350;
- label.setLayoutData(data);
- setControl(composite);
- Dialog.applyDialogFont(parent);
+// Composite composite = createComposite(parent, 1);
+// // set F1 help
+// WorkbenchHelp.setHelp(composite, IHelpContextIds.SHARING_FINISH_PAGE);
+// Label label = new Label(composite, SWT.LEFT | SWT.WRAP);
+// label.setText(Policy.bind("SharingWizardFinishPage.message")); //$NON-NLS-1$
+// GridData data = new GridData();
+// data.widthHint = 350;
+// label.setLayoutData(data);
+// setControl(composite);
+// Dialog.applyDialogFont(parent);
+
+ setControl(createCoolControl(parent));
+
+
+ }
+
+ private static class NullPreviewer implements IChangePreviewViewer {
+ private Label fLabel;
+ public void createControl(Composite parent) {
+ fLabel= new Label(parent, SWT.CENTER | SWT.FLAT);
+ fLabel.setText("No preview available"); //$NON-NLS-1$
+ }
+ public void refresh() {
+ }
+ public Control getControl() {
+ return fLabel;
+ }
+ public void setInput(Object input) throws CoreException {
+ }
+ }
+
+ private PageBook fPreviewContainer;
+ private IChangePreviewViewer fNullPreviewer;
+ private IChangePreviewViewer fChangePreviewViewer;
+ private IChangePreviewViewer fCurrentPreviewViewer;
+ private Viewer fTreeViewer;
+ private ITeamSubscriberParticipantNode fCurrentSelection = null;
+
+ public Composite createCoolControl(Composite parent) {
+ Composite result= new Composite(parent, SWT.NONE);
+ GridLayout layout= new GridLayout();
+ layout.marginHeight= 0; layout.marginWidth= 0;
+ result.setLayout(layout);
+
+ SashForm sashForm= new SashForm(result, SWT.VERTICAL);
+
+ ViewerPane pane= new ViewerPane(sashForm, SWT.BORDER | SWT.FLAT);
+ pane.setText("Synchronize Changes"); //$NON-NLS-1$
+ ToolBarManager tbm= pane.getToolBarManager();
+ //tbm.add(new NextChange());
+ //tbm.add(new PreviousChange());
+ //tbm.update(true);
+
+ fTreeViewer= createTreeViewer(pane);
+ //fTreeViewer.setContentProvider(createTreeContentProvider());
+ //fTreeViewer.setLabelProvider(createTreeLabelProvider());
+ fTreeViewer.addSelectionChangedListener(createSelectionChangedListener());
+ //fTreeViewer.addCheckStateListener(createCheckStateListener());
+ pane.setContent(fTreeViewer.getControl());
+ //setTreeViewerInput();
+
+ fPreviewContainer= new PageBook(sashForm, SWT.NONE);
+ fNullPreviewer= new NullPreviewer();
+ fNullPreviewer.createControl(fPreviewContainer);
+ fPreviewContainer.showPage(fNullPreviewer.getControl());
+ fCurrentPreviewViewer= fNullPreviewer;
+
+ sashForm.setWeights(new int[]{33, 67});
+ GridData gd= new GridData(GridData.FILL_BOTH);
+ gd.widthHint= convertWidthInCharsToPixels(80);
+ sashForm.setLayoutData(gd);
+ Dialog.applyDialogFont(result);
+
+ fChangePreviewViewer = new TextChangePreviewViewer();
+ fChangePreviewViewer.createControl(fPreviewContainer);
+
+ return result;
+ }
+
+ /**
+ * @param pane
+ * @return
+ */
+ private Viewer createTreeViewer(ViewerPane pane) {
+ SyncChangesViewer viewer = new SyncChangesTreeViewer(pane, this.participant, participant.getInput().getFilteredSyncSet());
+ viewer.getViewer().setLabelProvider(new TeamSubscriberParticipantLabelProvider());
+ return viewer.getViewer();
+ }
+
+ private ISelectionChangedListener createSelectionChangedListener() {
+ return new ISelectionChangedListener(){
+ public void selectionChanged(SelectionChangedEvent event) {
+ IStructuredSelection sel= (IStructuredSelection) event.getSelection();
+ if (sel.size() == 1) {
+ ITeamSubscriberParticipantNode newSelection= (ITeamSubscriberParticipantNode)sel.getFirstElement();
+ if (newSelection != fCurrentSelection) {
+ fCurrentSelection= newSelection;
+ SyncInfo info = fCurrentSelection.getSyncInfo();
+ if(info != null && info.getLocal().getType() == IResource.FILE) {
+ SyncInfoDiffNode node = SyncInfoCompareInput.createSyncInfoDiffNode(participant, info);
+ fetchContents(node);
+ showPreview(node);
+ } else {
+ showPreview(null);
+ }
+ }
+ } else {
+ showPreview(null);
+ }
+ }
+ };
+ }
+
+ private void fetchContents(final SyncInfoDiffNode node) {
+ try {
+ getContainer().run(true, true, new IRunnableWithProgress() {
+ public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+ try {
+ node.cacheContents(monitor);
+ } catch (TeamException e) {
+ throw new InvocationTargetException(e);
+ }
+ }
+ });
+ } catch (InvocationTargetException e) {
+ // TODO Auto-generated catch block
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ }
+ }
+
+ private void showPreview(Object element) {
+ if (element == null) {
+ showNullPreviewer();
+ } else {
+ try {
+ fCurrentPreviewViewer = fChangePreviewViewer;
+ fCurrentPreviewViewer.setInput(element);
+ } catch (CoreException e) {
+ showNullPreviewer();
+ }
+ fPreviewContainer.showPage(fCurrentPreviewViewer.getControl());
+ }
+ }
+
+ private void showNullPreviewer() {
+ fCurrentPreviewViewer= fNullPreviewer;
+ fPreviewContainer.showPage(fCurrentPreviewViewer.getControl());
}
}

Back to the top