diff options
author | Jean Michel-Lemieux | 2004-05-04 19:19:38 +0000 |
---|---|---|
committer | Jean Michel-Lemieux | 2004-05-04 19:19:38 +0000 |
commit | 370c0197c02c3c3222c81baf6d256e18dc72e5e6 (patch) | |
tree | f17f359efb81787084ab7a3e04402bf223b6211a | |
parent | f659954ec2ba90f11c6d23f3cdddb3dede558ad9 (diff) | |
download | eclipse.platform.team-branch_20040503_ChangeLogPre30Prototype.tar.gz eclipse.platform.team-branch_20040503_ChangeLogPre30Prototype.tar.xz eclipse.platform.team-branch_20040503_ChangeLogPre30Prototype.zip |
change log prototypebranch_20040503_ChangeLogPre30Prototype
3 files changed, 96 insertions, 4 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSParticipant.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSParticipant.java index 35e180f12..40abdc821 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSParticipant.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSParticipant.java @@ -17,6 +17,7 @@ import org.eclipse.jface.viewers.*; import org.eclipse.swt.graphics.Image; import org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator; import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin; +import org.eclipse.team.internal.ui.synchronize.SynchronizePageConfiguration; import org.eclipse.team.ui.synchronize.*; /** @@ -77,5 +78,6 @@ public class CVSParticipant extends SubscriberParticipant { // The decorator adds itself to the configuration ILabelDecorator labelDecorator = new CVSLabelDecorator(configuration); configuration.addLabelDecorator(labelDecorator); + configuration.setProperty(SynchronizePageConfiguration.P_MODEL_MANAGER, new ChangeLogModelManager(configuration)); } } diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/ChangeLogModelManager.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/ChangeLogModelManager.java new file mode 100644 index 000000000..0fa4fd363 --- /dev/null +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/ChangeLogModelManager.java @@ -0,0 +1,91 @@ +/******************************************************************************* + * Copyright (c) 2000, 2003 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.team.internal.ccvs.ui.subscriber; + +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.jface.util.PropertyChangeEvent; +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.internal.ui.synchronize.*; +import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration; + + +/** + * Manager for hierarchical models + */ +public class ChangeLogModelManager extends SynchronizeModelManager implements IPropertyChangeListener { + + /** + * @param configuration + */ + public ChangeLogModelManager(ISynchronizePageConfiguration configuration) { + super(configuration); + configuration.addPropertyChangeListener(this); + } + + /* (non-Javadoc) + * @see org.eclipse.team.internal.ui.synchronize.SynchronizeModelManager#dispose() + */ + public void dispose() { + getConfiguration().removePropertyChangeListener(this); + super.dispose(); + } + + /* (non-Javadoc) + * @see org.eclipse.team.internal.ui.synchronize.SynchronizeModelManager#getSupportedModelProviders() + */ + protected ISynchronizeModelProviderDescriptor[] getSupportedModelProviders() { + return new ISynchronizeModelProviderDescriptor[] { + new HierarchicalModelProvider.HierarchicalModelProviderDescriptor(), + new CompressedFoldersModelProvider.CompressedFolderModelProviderDescriptor(), + new ChangeLogModelProvider.ChangeLogModelProviderDescriptor()}; + } + + /* (non-Javadoc) + * @see org.eclipse.team.internal.ui.synchronize.SynchronizeModelManager#createModelProvider(java.lang.String) + */ + protected ISynchronizeModelProvider createModelProvider(String id) { + if(id == null) { + if (getShowCompressedFolders()) { + id = CompressedFoldersModelProvider.CompressedFolderModelProviderDescriptor.ID; + } else { + id = HierarchicalModelProvider.HierarchicalModelProviderDescriptor.ID; + } + } + if(id.endsWith(CompressedFoldersModelProvider.CompressedFolderModelProviderDescriptor.ID)) { + return new CompressedFoldersModelProvider(getSyncInfoSet()); + } else if(id.endsWith(HierarchicalModelProvider.HierarchicalModelProviderDescriptor.ID)) { + return new HierarchicalModelProvider(getSyncInfoSet()); + } else { + return new ChangeLogModelProvider(getSyncInfoSet()); + } + } + + private SyncInfoTree getSyncInfoSet() { + return (SyncInfoTree)getConfiguration().getProperty(ISynchronizePageConfiguration.P_SYNC_INFO_SET); + } + + /** + * Return the state of the compressed folder setting. + * + * @return the state of the compressed folder setting. + */ + private boolean getShowCompressedFolders() { + return TeamUIPlugin.getPlugin().getPreferenceStore().getBoolean(IPreferenceIds.SYNCVIEW_COMPRESS_FOLDERS); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) + */ + public void propertyChange(PropertyChangeEvent event) { + } +}
\ No newline at end of file diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/ChangeLogModelProvider.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/ChangeLogModelProvider.java index 3a14c395a..6cc89fc4b 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/ChangeLogModelProvider.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/ChangeLogModelProvider.java @@ -25,10 +25,9 @@ import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot; import org.eclipse.team.internal.ccvs.core.resources.RemoteFile; import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo; import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin; +import org.eclipse.team.internal.ccvs.ui.ICVSUIConstants; import org.eclipse.team.internal.ui.TeamUIPlugin; import org.eclipse.team.internal.ui.synchronize.*; -import org.eclipse.team.ui.ISharedImages; -import org.eclipse.team.ui.TeamImages; import org.eclipse.team.ui.synchronize.ISynchronizeModelElement; import org.eclipse.ui.progress.UIJob; @@ -123,7 +122,7 @@ public class ChangeLogModelProvider extends SynchronizeModelProvider { }; public static class ChangeLogModelProviderDescriptor implements ISynchronizeModelProviderDescriptor { - public static final String ID = TeamUIPlugin.ID + ".modelprovider_hierarchical"; + public static final String ID = TeamUIPlugin.ID + ".modelprovider_cvs_changelog"; public String getId() { return ID; } @@ -131,7 +130,7 @@ public class ChangeLogModelProvider extends SynchronizeModelProvider { return "Change Log"; } public ImageDescriptor getImageDescriptor() { - return TeamImages.getImageDescriptor(ISharedImages.IMG_IGNORE_WHITESPACE); + return CVSUIPlugin.getPlugin().getImageDescriptor(ICVSUIConstants.IMG_DATE); } }; private static final ChangeLogModelProviderDescriptor descriptor = new ChangeLogModelProviderDescriptor(); |