1 11 package org.eclipse.team.internal.ccvs.ui.subscriber; 12 13 import org.eclipse.jface.util.IPropertyChangeListener; 14 import org.eclipse.jface.util.PropertyChangeEvent; 15 import org.eclipse.team.core.synchronize.SyncInfoTree; 16 import org.eclipse.team.internal.ccvs.core.CVSTag; 17 import org.eclipse.team.internal.ui.IPreferenceIds; 18 import org.eclipse.team.internal.ui.TeamUIPlugin; 19 import org.eclipse.team.internal.ui.synchronize.*; 20 import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration; 21 22 25 public class ChangeLogModelManager extends SynchronizeModelManager implements IPropertyChangeListener { 26 27 28 private CVSTag tag1; 29 private CVSTag tag2; 30 31 public ChangeLogModelManager(ISynchronizePageConfiguration configuration) { 32 this(configuration, null, null); 33 } 34 35 public ChangeLogModelManager(ISynchronizePageConfiguration configuration, CVSTag tag1, CVSTag tag2) { 36 super(configuration); 37 this.tag1 = tag1; 38 this.tag2 = tag2; 39 configuration.addPropertyChangeListener(this); 40 } 41 42 45 public void dispose() { 46 getConfiguration().removePropertyChangeListener(this); 47 super.dispose(); 48 } 49 50 53 protected ISynchronizeModelProviderDescriptor[] getSupportedModelProviders() { 54 return new ISynchronizeModelProviderDescriptor[] { 55 new HierarchicalModelProvider.HierarchicalModelProviderDescriptor(), 56 new CompressedFoldersModelProvider.CompressedFolderModelProviderDescriptor(), 57 new ChangeLogModelProvider.ChangeLogModelProviderDescriptor()}; 58 } 59 60 63 protected ISynchronizeModelProvider createModelProvider(String id) { 64 if(id == null) { 65 if (getShowCompressedFolders()) { 66 id = CompressedFoldersModelProvider.CompressedFolderModelProviderDescriptor.ID; 67 } else { 68 id = HierarchicalModelProvider.HierarchicalModelProviderDescriptor.ID; 69 } 70 } 71 if(id.endsWith(CompressedFoldersModelProvider.CompressedFolderModelProviderDescriptor.ID)) { 72 return new CompressedFoldersModelProvider(getConfiguration(), getSyncInfoSet()); 73 } else if(id.endsWith(HierarchicalModelProvider.HierarchicalModelProviderDescriptor.ID)) { 74 return new HierarchicalModelProvider(getConfiguration(), getSyncInfoSet()); 75 } else { 76 return new ChangeLogModelProvider(getConfiguration(), getSyncInfoSet(), tag1, tag2); 77 } 78 } 79 80 private SyncInfoTree getSyncInfoSet() { 81 return (SyncInfoTree)getConfiguration().getProperty(ISynchronizePageConfiguration.P_SYNC_INFO_SET); 82 } 83 84 89 private boolean getShowCompressedFolders() { 90 return TeamUIPlugin.getPlugin().getPreferenceStore().getBoolean(IPreferenceIds.SYNCVIEW_COMPRESS_FOLDERS); 91 } 92 93 96 public void propertyChange(PropertyChangeEvent event) { 97 } 98 } 99 | Popular Tags |