From 4956853ad0b761557d226f3169d0008f3a007f6e Mon Sep 17 00:00:00 2001 From: David Inglis Date: Fri, 26 Jul 2002 19:15:14 +0000 Subject: [PATCH] update to support new console extension plus removed IPropertyStore in core changing it to use the plaform property store. --- .../cdt/internal/core/index/IndexManager.java | 7 +- .../org/eclipse/cdt/core/model/CoreModel.java | 20 +- .../org/eclipse/cdt/core/model/ICElement.java | 14 - .../org/eclipse/cdt/core/model/ICFile.java | 2 +- .../org/eclipse/cdt/core/model/ICFolder.java | 2 +- .../eclipse/cdt/core/model/ICModelMarker.java | 2 +- .../org/eclipse/cdt/core/model/ICProject.java | 2 +- .../eclipse/cdt/core/model/ICResource.java | 22 + .../org/eclipse/cdt/core/model/ICRoot.java | 2 +- .../internal/core/model/ArchiveContainer.java | 6 +- .../internal/core/model/CElementDelta.java | 20 +- .../internal/core/model/CModelManager.java | 153 +++--- .../cdt/internal/core/model/CResource.java | 7 +- .../internal/core/model/CResourceInfo.java | 10 +- .../cdt/internal/core/model/CRoot.java | 24 +- .../model/CopyResourceElementsOperation.java | 22 +- .../model/CreateElementInTUOperation.java | 3 +- .../DeleteResourceElementsOperation.java | 5 +- core/org.eclipse.cdt.core/plugin.properties | 1 + core/org.eclipse.cdt.core/plugin.xml | 3 +- .../eclipse/cdt/core/BuildInfoFactory.java | 11 +- .../org/eclipse/cdt/core/CCProjectNature.java | 2 - .../cdt/{internal => core}/CCorePlugin.java | 110 ++-- .../org/eclipse/cdt/core/CProjectNature.java | 2 - .../eclipse/cdt/core/resources/ACBuilder.java | 2 +- .../eclipse/cdt/core/resources/ICPlugin.java | 15 - .../cdt/core/resources/IMessageDialog.java | 12 - .../cdt/core/resources/IPropertyStore.java | 24 - .../eclipse/cdt/internal/AbstractPlugin.java | 247 --------- .../internal/CCorePluginResources.properties | 3 - .../eclipse/cdt/internal/PreferenceStore.java | 504 ------------------ .../cdt/internal/ResourcePropertyStore.java | 43 -- .../eclipse/cdt/internal/core/CBuilder.java | 4 - .../cdt/internal/core/FileStorage.java | 2 +- .../errorparsers/ErrorParserManager.java | 6 +- core/org.eclipse.cdt.ui/plugin.xml | 39 +- .../org/eclipse/cdt/internal/ui/CConsole.java | 32 ++ .../internal/ui/CElementAdapterFactory.java | 15 +- .../org/eclipse/cdt/internal/ui/CPlugin.java | 46 +- .../ui/ErrorTickAdornmentProvider.java | 10 +- .../cdt/internal/ui/PluginAdapterFactory.java | 41 -- .../internal/ui/cview/CElementFilters.java | 2 +- .../cdt/internal/ui/dialogs/StatusInfo.java | 2 +- .../ui/preferences/CProjectPropertyPage.java | 23 +- .../cdt/ui/wizards/ReferenceBlock.java | 14 +- 45 files changed, 294 insertions(+), 1244 deletions(-) create mode 100644 core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICResource.java rename core/org.eclipse.cdt.core/src/org/eclipse/cdt/{internal => core}/CCorePlugin.java (61%) delete mode 100644 core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ICPlugin.java delete mode 100644 core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/IMessageDialog.java delete mode 100644 core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/IPropertyStore.java delete mode 100644 core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/AbstractPlugin.java delete mode 100644 core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/PreferenceStore.java delete mode 100644 core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/ResourcePropertyStore.java create mode 100644 core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CConsole.java delete mode 100644 core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/PluginAdapterFactory.java diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IndexManager.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IndexManager.java index efa93a00020..8659c105d7a 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IndexManager.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IndexManager.java @@ -26,6 +26,7 @@ import org.eclipse.cdt.core.model.CModelException; import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.core.model.ElementChangedEvent; import org.eclipse.cdt.core.model.ICElement; +import org.eclipse.cdt.core.model.ICResource; import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.core.model.ICElementDelta; import org.eclipse.cdt.core.model.IElementChangedListener; @@ -250,7 +251,7 @@ public class IndexManager implements IElementChangedListener { if (kind == ICElementDelta.REMOVED) { try { - IResource resource = ((ICElement)element).getCorrespondingResource(); + IResource resource = ((ICResource)element).getResource(); removeResource(resource); } catch (CModelException e) { } @@ -258,7 +259,7 @@ public class IndexManager implements IElementChangedListener { if (kind == ICElementDelta.ADDED) { try { - IResource resource = ((ICElement)element).getCorrespondingResource(); + IResource resource = ((ICResource)element).getResource(); addResource(resource); } catch (CModelException e) { } @@ -266,7 +267,7 @@ public class IndexManager implements IElementChangedListener { if (element instanceof ITranslationUnit) { if (kind == ICElementDelta.CHANGED) { - IResource resource = ((ICElement)element).getCorrespondingResource(); + IResource resource = ((ICResource)element).getResource(); addResource(resource); return; } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java index 76a09f62266..34ac846ec2d 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java @@ -85,7 +85,7 @@ public class CoreModel { * Creates an ICElement form and IPath. * Returns null if not found. */ - public ICElement create(IPath path) { + public ICResource create(IPath path) { return manager.create(path); } @@ -93,7 +93,7 @@ public class CoreModel { * Creates an ICElement form and IFile. * Returns null if not found. */ - public ICElement create(IFile file) { + public ICFile create(IFile file) { return manager.create(file); } @@ -101,7 +101,7 @@ public class CoreModel { * Creates an ICElement form and IFolder. * Returns null if not found. */ - public ICElement create(IFolder folder) { + public ICFolder create(IFolder folder) { return manager.create(folder); } @@ -109,30 +109,22 @@ public class CoreModel { * Creates an ICElement form and IProject. * Returns null if not found. */ - public ICElement create(IProject project) { + public ICProject create(IProject project) { return manager.create(project); } - /** - * Creates an ICElement form and IWorkspaceRoot. - * Returns null if not found. - */ - public ICElement create(IWorkspaceRoot root) { - return manager.create(root); - } - /** * Creates an ICElement form and IResource. * Returns null if not found. */ - public ICElement create(IResource resource) { + public ICResource create(IResource resource) { return manager.create(resource); } /** * Returns the default ICRoot. */ - public ICElement getCRoot() { + public ICRoot getCRoot() { return manager.getCRoot(); } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICElement.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICElement.java index 75660dccca8..96cc734c01f 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICElement.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICElement.java @@ -185,20 +185,6 @@ public interface ICElement extends IAdaptable { */ boolean exists(); - /** - * Returns the resource that corresponds directly to this element, - * or null if there is no resource that corresponds to - * this element. - *

- * For example, the corresponding resource for an ATranslationUnit - * is its underlying IFile. - * - * @return the corresponding resource, or null if none - * @exception CModelException if this element does not exist or if an - * exception occurs while accessing its corresponding resource - */ - IResource getCorrespondingResource() throws CModelException; - /** * Returns the name of this element. * diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICFile.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICFile.java index ef747add31e..0f238cb3b54 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICFile.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICFile.java @@ -10,7 +10,7 @@ import org.eclipse.core.resources.IFile; /** * A C File Resource. */ -public interface ICFile extends IParent, ICElement { +public interface ICFile extends IParent, ICResource, ICElement { public boolean isBinary(); diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICFolder.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICFolder.java index 42eefe863d7..178a4096140 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICFolder.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICFolder.java @@ -10,7 +10,7 @@ import org.eclipse.core.resources.IFolder; /** * A C Folder Resource. */ -public interface ICFolder extends IParent, ICElement { +public interface ICFolder extends IParent, ICResource, ICElement { public IFolder getFolder(); } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICModelMarker.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICModelMarker.java index 512e88573c9..7f284744356 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICModelMarker.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICModelMarker.java @@ -5,7 +5,7 @@ package org.eclipse.cdt.core.model; * All Rights Reserved. */ -import org.eclipse.cdt.internal.CCorePlugin; +import org.eclipse.cdt.core.CCorePlugin; /** diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICProject.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICProject.java index 26648b46920..f0bdcaaf143 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICProject.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICProject.java @@ -17,7 +17,7 @@ import org.eclipse.core.runtime.IPath; * @see CCore#create(org.eclipse.core.resources.IProject) * @see IBuildEntry */ -public interface ICProject extends IParent, ICElement { +public interface ICProject extends IParent, ICResource, ICElement { /** * Returns the ICElement corresponding to the given diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICResource.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICResource.java new file mode 100644 index 00000000000..dfebabdace5 --- /dev/null +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICResource.java @@ -0,0 +1,22 @@ +/* + * (c) Copyright QNX Software System Ltd. 2002. + * All Rights Reserved. + */ + +package org.eclipse.cdt.core.model; + +import org.eclipse.core.resources.IResource; + +public interface ICResource extends IParent, ICElement { + /** + * Returns the resource that corresponds directly to this element, + *

+ * For example, the corresponding resource for an ATranslationUnit + * is its underlying IFile. + * + * @return the corresponding resource. + * @exception CModelException if this element does not exist or if an + * exception occurs while accessing its corresponding resource + */ + public IResource getResource() throws CModelException; +} diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICRoot.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICRoot.java index 2c44ce1c002..e35b1d80525 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICRoot.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ICRoot.java @@ -22,7 +22,7 @@ import org.eclipse.core.runtime.IProgressMonitor; * * @see CCore#create(org.eclipse.core.resources.IWorkspaceRoot) */ -public interface ICRoot extends ICElement, IParent { +public interface ICRoot extends ICResource, ICElement, IParent { /** * Copies the given elements to the specified container(s). * If one container is specified, all elements are copied to that diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/ArchiveContainer.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/ArchiveContainer.java index ad1261403a6..17a381f5926 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/ArchiveContainer.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/ArchiveContainer.java @@ -65,9 +65,9 @@ public class ArchiveContainer extends Parent implements IArchiveContainer { // return null; //} - public IResource getCorrespondingResource() { - return null; - } +// public IResource getCorrespondingResource() { +// return null; +// } void addChildIfLib(IFile file) { CModelManager factory = CModelManager.getDefault(); diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CElementDelta.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CElementDelta.java index ad99aaa2e2f..f884e35dcd2 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CElementDelta.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CElementDelta.java @@ -6,13 +6,13 @@ package org.eclipse.cdt.internal.core.model; */ import java.util.ArrayList; -import org.eclipse.core.resources.IResourceDelta; - -import org.eclipse.cdt.core.model.ICElement; -import org.eclipse.cdt.core.model.IBinary; -import org.eclipse.cdt.core.model.IArchive; -import org.eclipse.cdt.core.model.ICElementDelta; import org.eclipse.cdt.core.model.CModelException; +import org.eclipse.cdt.core.model.IArchive; +import org.eclipse.cdt.core.model.IBinary; +import org.eclipse.cdt.core.model.ICElement; +import org.eclipse.cdt.core.model.ICElementDelta; +import org.eclipse.cdt.core.model.ICResource; +import org.eclipse.core.resources.IResourceDelta; /** @@ -102,12 +102,8 @@ public class CElementDelta implements ICElementDelta { // if a child delta is added to a translation unit delta or below, // it's a fine grained delta - try { - if (fChangedElement.getCorrespondingResource() == null) { - fineGrained(); - } - } catch (CModelException e) { - e.printStackTrace(); + if (!(fChangedElement instanceof ICResource)) { + fineGrained(); } if (fAffectedChildren.length == 0) { diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java index 4910f547dc8..f5fc20f0669 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java @@ -6,41 +6,44 @@ package org.eclipse.cdt.internal.core.model; */ import java.io.IOException; -import java.util.HashMap; import java.util.ArrayList; -import java.util.List; import java.util.Arrays; +import java.util.HashMap; import java.util.Iterator; +import java.util.List; +import org.eclipse.cdt.core.model.CModelException; +import org.eclipse.cdt.core.model.CoreModel; +import org.eclipse.cdt.core.model.ElementChangedEvent; +import org.eclipse.cdt.core.model.IArchive; +import org.eclipse.cdt.core.model.IBinary; +import org.eclipse.cdt.core.model.ICElement; +import org.eclipse.cdt.core.model.ICElementDelta; +import org.eclipse.cdt.core.model.ICFile; +import org.eclipse.cdt.core.model.ICFolder; +import org.eclipse.cdt.core.model.ICProject; +import org.eclipse.cdt.core.model.ICResource; +import org.eclipse.cdt.core.model.ICRoot; +import org.eclipse.cdt.core.model.IElementChangedListener; +import org.eclipse.cdt.core.model.IParent; +import org.eclipse.cdt.utils.elf.AR; +import org.eclipse.cdt.utils.elf.Elf; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IProjectDescription; import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IResourceChangeEvent; +import org.eclipse.core.resources.IResourceChangeListener; +import org.eclipse.core.resources.IResourceDelta; +import org.eclipse.core.resources.IResourceStatus; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.resources.IResourceChangeEvent; -import org.eclipse.core.resources.IResourceChangeListener; -import org.eclipse.core.resources.IResourceStatus; -import org.eclipse.core.resources.IProjectDescription; -import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.cdt.core.model.ICElement; -import org.eclipse.cdt.core.model.IArchive; -import org.eclipse.cdt.core.model.IBinary; -import org.eclipse.cdt.core.model.IElementChangedListener; -import org.eclipse.cdt.core.model.ElementChangedEvent; -import org.eclipse.cdt.core.model.ICElementDelta; -import org.eclipse.cdt.core.model.CModelException; - -import org.eclipse.cdt.core.model.CoreModel; - -import org.eclipse.cdt.utils.elf.Elf; -import org.eclipse.cdt.utils.elf.AR; - public class CModelManager implements IResourceChangeListener { // FIXME: Get it from the plugin class. @@ -95,15 +98,15 @@ public class CModelManager implements IResourceChangeListener { * Returns the CRoot for the given workspace, creating * it if it does not yet exist. */ - public ICElement getCRoot(IWorkspaceRoot root) { + public ICRoot getCRoot(IWorkspaceRoot root) { return create(root); } - public ICElement getCRoot () { + public ICRoot getCRoot () { return create(ResourcesPlugin.getWorkspace().getRoot()); } - public ICElement create (IPath path) { + public ICResource create (IPath path) { IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // Assume it is fullpath relative to workspace IResource res = root.findMember(path); @@ -118,7 +121,7 @@ public class CModelManager implements IResourceChangeListener { return create (res); } - public ICElement create (IResource resource) { + public ICResource create (IResource resource) { if (resource == null) { return null; } @@ -137,7 +140,7 @@ public class CModelManager implements IResourceChangeListener { } } - public ICElement create(ICElement parent, IResource resource) { + public ICResource create(ICElement parent, IResource resource) { int type = resource.getType(); switch (type) { case IResource.PROJECT : @@ -153,76 +156,76 @@ public class CModelManager implements IResourceChangeListener { } } - public ICElement create(IFile file) { + public ICFile create(IFile file) { IResource parent = file.getParent(); - ICElement celement = null; + ICElement cparent = null; if (parent instanceof IFolder) { - celement = create ((IFolder)parent); + cparent = create ((IFolder)parent); } else if (parent instanceof IProject) { - celement = create ((IProject)parent); + cparent = create ((IProject)parent); } - if (celement != null) - return create (celement, file); - return celement; + if (cparent != null) + return (ICFile) create (cparent, file); + return null; } - public synchronized ICElement create(ICElement parent, IFile file) { - ICElement celement = (ICElement)fParsedResources.get(file); - if (celement == null) { + public synchronized ICFile create(ICElement parent, IFile file) { + ICFile cfile = (ICFile)fParsedResources.get(file); + if (cfile == null) { if (file.exists()) { if (isArchive(file)) { - celement = new Archive(parent, file); + cfile = new Archive(parent, file); } else if (isBinary(file)) { - celement = new Binary(parent, file); + cfile = new Binary(parent, file); } else if (isTranslationUnit(file)) { - celement = new TranslationUnit(parent, file); + cfile = new TranslationUnit(parent, file); } else { - celement = new CFile(parent, file); + cfile = new CFile(parent, file); } - fParsedResources.put(file, celement); + fParsedResources.put(file, cfile); } } // Added also to the Containers - if (celement != null) { - if (celement instanceof IArchive) { - CProject cproj = (CProject)celement.getCProject(); + if (cfile != null) { + if (cfile instanceof IArchive) { + CProject cproj = (CProject)cfile.getCProject(); ArchiveContainer container = (ArchiveContainer)cproj.getArchiveContainer(); - container.addChild(celement); - } else if (celement instanceof IBinary) { - IBinary bin = (IBinary)celement; + container.addChild(cfile); + } else if (cfile instanceof IBinary) { + IBinary bin = (IBinary)cfile; if (bin.isExecutable() || bin.isSharedLib()) { - CProject cproj = (CProject)celement.getCProject(); + CProject cproj = (CProject)cfile.getCProject(); BinaryContainer container = (BinaryContainer)cproj.getBinaryContainer(); container.addChild(bin); } } } - return celement; + return cfile; } - public ICElement create(IFolder folder) { + public ICFolder create(IFolder folder) { IResource parent = folder.getParent(); - ICElement celement = null; + ICElement cparent = null; if (parent instanceof IFolder) { - celement = create ((IFolder)parent); + cparent = create ((IFolder)parent); } else if (parent instanceof IProject) { - celement = create ((IProject)parent); + cparent = create ((IProject)parent); } - if (celement != null) - return create (celement, folder); - return celement; + if (cparent != null) + return (ICFolder) create (cparent, folder); + return null; } - public synchronized ICElement create(ICElement parent, IFolder folder) { - ICElement celement = (ICElement)fParsedResources.get(folder); - if (celement == null) { - celement = new CFolder(parent, folder); - fParsedResources.put(folder, celement); + public synchronized ICFolder create(ICElement parent, IFolder folder) { + ICFolder cfolder = (ICFolder)fParsedResources.get(folder); + if (cfolder == null) { + cfolder = new CFolder(parent, folder); + fParsedResources.put(folder, cfolder); } - return celement; + return cfolder; } - public ICElement create(IProject project) { + public ICProject create(IProject project) { IResource parent = project.getParent(); ICElement celement = null; if (parent instanceof IWorkspaceRoot) { @@ -231,24 +234,24 @@ public class CModelManager implements IResourceChangeListener { return create(celement, project); } - public synchronized ICElement create(ICElement parent, IProject project) { - ICElement celement = (ICElement)fParsedResources.get(project); - if (celement == null) { + public synchronized ICProject create(ICElement parent, IProject project) { + ICProject cproject = (ICProject)fParsedResources.get(project); + if (cproject == null) { if (hasCNature(project)) { - celement = new CProject(parent, project); - fParsedResources.put(project, celement); + cproject = new CProject(parent, project); + fParsedResources.put(project, cproject); } } - return celement; + return cproject; } - public ICElement create(IWorkspaceRoot root) { - ICElement celement = (ICElement)fParsedResources.get(root); - if (celement == null) { - celement = new CRoot(root); - fParsedResources.put(root, celement); + public ICRoot create(IWorkspaceRoot root) { + ICRoot croot = (ICRoot)fParsedResources.get(root); + if (croot == null) { + croot = new CRoot(root); + fParsedResources.put(root, croot); } - return celement; + return croot; } public static void addCNature(IProject project, IProgressMonitor monitor) throws CModelException { diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CResource.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CResource.java index abb010c5ff1..a0fa5bc59d4 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CResource.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CResource.java @@ -9,10 +9,11 @@ import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IPath; +import org.eclipse.cdt.core.model.*; import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.model.CModelException; -public abstract class CResource extends Parent { +public abstract class CResource extends Parent implements ICResource { public CResource (ICElement parent, IPath path, int type) { // Check if the file is under the workspace. @@ -36,5 +37,9 @@ public abstract class CResource extends Parent { return resource; } + public IResource getResource() throws CModelException { + return resource; + } + protected abstract CElementInfo createElementInfo (); } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CResourceInfo.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CResourceInfo.java index 41ec313a1b4..3877ddd6f58 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CResourceInfo.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CResourceInfo.java @@ -5,12 +5,12 @@ package org.eclipse.cdt.internal.core.model; * All Rights Reserved. */ -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.runtime.CoreException; - import org.eclipse.cdt.core.model.ICElement; +import org.eclipse.cdt.core.model.IParent; +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; /** */ diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CRoot.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CRoot.java index 46a8c62bd3b..41c3b47dcfd 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CRoot.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CRoot.java @@ -5,15 +5,15 @@ package org.eclipse.cdt.internal.core.model; * All Rights Reserved. */ -import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.cdt.core.model.CModelException; +import org.eclipse.cdt.core.model.ICElement; +import org.eclipse.cdt.core.model.ICProject; +import org.eclipse.cdt.core.model.ICResource; +import org.eclipse.cdt.core.model.ICRoot; import org.eclipse.core.resources.IWorkspace; +import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.cdt.core.model.ICElement; -import org.eclipse.cdt.core.model.ICProject; -import org.eclipse.cdt.core.model.ICRoot; -import org.eclipse.cdt.core.model.CModelException; - public class CRoot extends CResource implements ICRoot { public CRoot(IWorkspaceRoot root) { @@ -54,8 +54,7 @@ public class CRoot extends CResource implements ICRoot { public void copy(ICElement[] elements, ICElement[] containers, ICElement[] siblings, String[] renamings, boolean replace, IProgressMonitor monitor) throws CModelException { - if (elements != null && elements[0] != null - && elements[0].getCorrespondingResource() != null ) { + if (elements != null && elements[0] != null && elements[0] instanceof ICResource ) { runOperation(new CopyResourceElementsOperation(elements, containers, replace), elements, siblings, renamings, monitor); } else { throw new CModelException (new CModelStatus()); @@ -65,8 +64,7 @@ public class CRoot extends CResource implements ICRoot { public void delete(ICElement[] elements, boolean force, IProgressMonitor monitor) throws CModelException { - if (elements != null && elements[0] != null - && elements[0].getCorrespondingResource() != null) { + if (elements != null && elements[0] != null && elements[0] instanceof ICResource) { runOperation(new DeleteResourceElementsOperation(elements, force), monitor); } else { throw new CModelException (new CModelStatus()); @@ -76,8 +74,7 @@ public class CRoot extends CResource implements ICRoot { public void move(ICElement[] elements, ICElement[] containers, ICElement[] siblings, String[] renamings, boolean replace, IProgressMonitor monitor) throws CModelException { - if (elements != null && elements[0] != null - && elements[0].getCorrespondingResource() == null) { + if (elements != null && elements[0] != null && elements[0] instanceof ICResource ) { runOperation(new MoveResourceElementsOperation(elements, containers, replace), elements, siblings, renamings, monitor); } else { throw new CModelException (new CModelStatus()); @@ -87,8 +84,7 @@ public class CRoot extends CResource implements ICRoot { public void rename(ICElement[] elements, ICElement[] destinations, String[] renamings, boolean force, IProgressMonitor monitor) throws CModelException { - if (elements != null && elements[0] != null - && elements[0].getCorrespondingResource() == null) { + if (elements != null && elements[0] != null && elements[0] instanceof ICResource) { runOperation(new RenameResourceElementsOperation(elements, destinations, renamings, force), monitor); } else { diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CopyResourceElementsOperation.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CopyResourceElementsOperation.java index dc88e9d5499..07d046dd65f 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CopyResourceElementsOperation.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CopyResourceElementsOperation.java @@ -6,21 +6,21 @@ package org.eclipse.cdt.internal.core.model; */ import java.util.ArrayList; -import java.util.Map; import java.util.HashMap; import java.util.Iterator; +import java.util.Map; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.CoreException; - +import org.eclipse.cdt.core.model.CModelException; import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.model.ICElementDelta; -import org.eclipse.cdt.core.model.ICProject; import org.eclipse.cdt.core.model.ICModelStatus; import org.eclipse.cdt.core.model.ICModelStatusConstants; -import org.eclipse.cdt.core.model.CModelException; +import org.eclipse.cdt.core.model.ICProject; +import org.eclipse.cdt.core.model.ICResource; +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.Path; /** * This operation copies/moves/renames a collection of resources from their current @@ -126,9 +126,9 @@ public class CopyResourceElementsOperation extends MultiOperation { String destName = (newName != null) ? newName : source.getElementName(); // copy resource - IFile sourceResource = (IFile)source.getCorrespondingResource(); + IFile sourceResource = (IFile)((ICResource)source).getResource(); // can be an IFolder or an IProject - IContainer destFolder = (IContainer)dest.getCorrespondingResource(); + IContainer destFolder = (IContainer)((ICResource)dest).getResource(); IFile destFile = destFolder.getFile(new Path(destName)); if (!destFile.equals(sourceResource)) { try { @@ -185,7 +185,7 @@ public class CopyResourceElementsOperation extends MultiOperation { */ protected void processElement(ICElement element) throws CModelException { ICElement dest = getDestinationParent(element); - if (element.getCorrespondingResource() != null) { + if (element instanceof ICResource) { processResource(element, dest); //fCreatedElements.add(dest.getCompilationUnit(element.getElementName())); } else { diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CreateElementInTUOperation.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CreateElementInTUOperation.java index ccb695df1d1..454ea2efb06 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CreateElementInTUOperation.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CreateElementInTUOperation.java @@ -15,6 +15,7 @@ import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.CoreException; import org.eclipse.cdt.core.model.ICElement; +import org.eclipse.cdt.core.model.ICResource; import org.eclipse.cdt.core.model.ISourceRange; import org.eclipse.cdt.core.model.ISourceReference; import org.eclipse.cdt.core.model.ITranslationUnit; @@ -142,7 +143,7 @@ public abstract class CreateElementInTUOperation extends CModelOperation { insertElement(); if (fCreationOccurred) { //a change has really occurred - IFile file = (IFile)unit.getCorrespondingResource(); + IFile file = (IFile)((ICResource)unit).getResource(); StringBuffer buffer = getContent(file); switch (fReplacementLength) { case -1 : diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeleteResourceElementsOperation.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeleteResourceElementsOperation.java index 28ddb5cffef..29714ccdb80 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeleteResourceElementsOperation.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeleteResourceElementsOperation.java @@ -6,8 +6,9 @@ package org.eclipse.cdt.internal.core.model; */ -import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.model.CModelException; +import org.eclipse.cdt.core.model.ICElement; +import org.eclipse.cdt.core.model.ICResource; /** * This operation deletes a collection of resources and all of their children. @@ -36,7 +37,7 @@ public class DeleteResourceElementsOperation extends MultiOperation { * deletePackageFragment depending on the type of element. */ protected void processElement(ICElement element) throws CModelException { - deleteResource(element.getCorrespondingResource(), fForce); + deleteResource(((ICResource)element).getResource(), fForce); } /** diff --git a/core/org.eclipse.cdt.core/plugin.properties b/core/org.eclipse.cdt.core/plugin.properties index 4fded76fcd1..84e2a9e0b77 100644 --- a/core/org.eclipse.cdt.core/plugin.properties +++ b/core/org.eclipse.cdt.core/plugin.properties @@ -5,4 +5,5 @@ cnature.name=C Nature ccnature.name=C++ Nature CProblemMarker.name=C Problem CBuildCommand.name=C Builder Command +CBuildConsole.name=C Builder Console diff --git a/core/org.eclipse.cdt.core/plugin.xml b/core/org.eclipse.cdt.core/plugin.xml index 937a032e22c..9d80fcbed30 100644 --- a/core/org.eclipse.cdt.core/plugin.xml +++ b/core/org.eclipse.cdt.core/plugin.xml @@ -4,7 +4,7 @@ name="%pluginName" version="1.0.0" provider-name="%providerName" - class="org.eclipse.cdt.internal.CCorePlugin"> + class="org.eclipse.cdt.core.CCorePlugin"> @@ -27,6 +27,7 @@ + - * Subclasses obtain the following capabilities: - *

- *

- * Preferences - *

- * Dialogs - * - * Images - * - *

- * For easy access to your plug-in object, use the singleton pattern. Declare a - * static variable in your plug-in class for the singleton. Store the first - * (and only) instance of the plug-in class in the singleton when it is created. - * Then access the singleton when needed through a static getDefault - * method. - *

- */ -public abstract class AbstractPlugin extends Plugin -{ - /** - * The name of the preference storage file (value - * "pref_store.ini"). - */ - private static final String FN_PREF_STORE= "pref_store.ini";//$NON-NLS-1$ - /** - * The name of the default preference settings file (value - * "preferences.ini"). - */ - private static final String FN_DEFAULT_PREFERENCES= "preferences.ini";//$NON-NLS-1$ - - /** - * Storage for preferences; null if not yet initialized. - */ - private PreferenceStore preferenceStore = null; - -/** - * Creates an abstract plug-in runtime object for the given plug-in descriptor. - *

- * Note that instances of plug-in runtime classes are automatically created - * by the platform in the course of plug-in activation. - *

- * - * @param descriptor the plug-in descriptor - */ -public AbstractPlugin(IPluginDescriptor descriptor) { - super(descriptor); -} - -/** - * Returns the preference store for this UI plug-in. - * This preference store is used to hold persistent settings for this plug-in in - * the context of a workbench. Some of these settings will be user controlled, - * whereas others may be internal setting that are never exposed to the user. - *

- * If an error occurs reading the preference store, an empty preference store is - * quietly created, initialized with defaults, and returned. - *

- *

- * Subclasses should reimplement initializeDefaultPreferences if - * they have custom graphic images to load. - *

- * - * @return the preference store - */ -public IPropertyStore getPreferenceStore() { - if (preferenceStore == null) { - loadPreferenceStore(); - initializeDefaultPreferences(preferenceStore); - initializePluginPreferences(preferenceStore); - } - return preferenceStore; -} - - -/** - * Initializes a preference store with default preference values - * for this plug-in. - *

- * This method is called after the preference store is initially loaded - * (default values are never stored in preference stores). - *

- * The default implementation of this method does nothing. - * Subclasses should reimplement this method if the plug-in has any preferences. - *

- * - * @param store the preference store to fill - */ -protected void initializeDefaultPreferences(IPropertyStore store) { -} - -/** - * Sets default preferences defined in the plugin directory. - * If there are no default preferences defined, or some other - * problem occurs, we fail silently. - */ -private void initializePluginPreferences(IPropertyStore store) { - URL baseURL = getDescriptor().getInstallURL(); - - URL iniURL= null; - try { - iniURL = new URL(baseURL, FN_DEFAULT_PREFERENCES); - } catch (MalformedURLException e) { - return; - } - - Properties ini = new Properties(); - InputStream is = null; - try { - is = iniURL.openStream(); - ini.load(is); - } - catch (IOException e) { - // Cannot read ini file; - return; - } - finally { - try { - if (is != null) - is.close(); - } catch (IOException e) {} - } - - Enumeration enum = ini.propertyNames(); - while (enum.hasMoreElements()) { - String key = (String)enum.nextElement(); - store.setDefault(key, ini.getProperty(key)); - } -} - -/** - * Loads the preference store for this plug-in. - * The default implementation looks for a standard named file in the - * plug-in's read/write state area. If no file is found or a problem - * occurs, a new empty preference store is silently created. - *

- * This framework method may be overridden, although this is typically - * unnecessary. - *

- */ -protected void loadPreferenceStore() { - String readWritePath = getStateLocation().append(FN_PREF_STORE).toOSString(); - preferenceStore = new PreferenceStore(readWritePath); - try { - preferenceStore.load(); - } - catch (IOException e) { - // Load failed, perhaps because the file does not yet exist. - // At any rate we just return and leave the store empty. - } - return; -} - -/** - * Saves this plug-in's preference store. - * Any problems which arise are silently ignored. - */ -protected void savePreferenceStore() { - if (preferenceStore == null) { - return; - } - try { - preferenceStore.save(); // the store knows its filename - no need to pass it - } - catch (IOException e) { - } -} - -/** - * The AbstractPlugin implementation of this Plugin - * method saves this plug-in's preference and dialog stores and shuts down - * its image registry (if they are in use). Subclasses may extend this method, - * but must send super first. - */ -public void shutdown() throws CoreException { - super.shutdown(); - savePreferenceStore(); - preferenceStore = null; -} - -public Object getAdapter(Class adapter) { - return Platform.getAdapterManager().getAdapter(this, adapter); -} - -} \ No newline at end of file diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/CCorePluginResources.properties b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/CCorePluginResources.properties index 862be897e77..6857d9b53ad 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/CCorePluginResources.properties +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/CCorePluginResources.properties @@ -4,7 +4,4 @@ # All Rights Reserved. # ################################################ - -CApplicationLauncher.error.title=Error Launching Application -CApplicationLauncher.error.message=Unable to Launch Application \ No newline at end of file diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/PreferenceStore.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/PreferenceStore.java deleted file mode 100644 index 02af2b15c4e..00000000000 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/PreferenceStore.java +++ /dev/null @@ -1,504 +0,0 @@ -package org.eclipse.cdt.internal; - /* - * (c) Copyright IBM Corp. 2000, 2001. - * All Rights Reserved. - */ - -import java.io.*; -import java.util.*; -import org.eclipse.cdt.core.resources.*; -//import org.eclipse.jface.util.*; - -/** - * A concrete preference store implementation based on an internal - * java.util.Properties object, with support for - * persisting the non-default preference values to files or streams. - *

- * This class was not designed to be subclassed. - *

- * - * @see IPreferenceStore - */ -public class PreferenceStore implements IPropertyStore { - - - /** - * The mapping from preference name to - * preference value (represented as strings). - */ - private Properties properties; - - /** - * The mapping from preference name to - * default preference value (represented as strings); - * null if none. - */ - private Properties defaultProperties; - - /** - * Indicates whether a value as been changed by setToDefault - * or setValue; initially true. - */ - private boolean dirty = true; - - /** - * The file name used by the load method to load a property - * file. This filename is used to save the properties file when save - * is called. - */ - private String filename; -/** - * Creates an empty preference store. - *

- * Use the methods load(InputStream) and - * save(InputStream) to load and store this - * preference store. - *

- * @see #load(java.io.InputStream) - * @see #store(java.io.InputStream) - */ -public PreferenceStore() { - defaultProperties = new Properties(); - properties = new Properties(defaultProperties); -} -/** - * Creates an empty preference store that loads from and saves to the - * a file. - *

- * Use the methods load() and save() to load and store this - * preference store. - *

- * - * @param filename the file name - * @see #load() - * @see #store() - */ -public PreferenceStore(String filename) { - this(); - this.filename = filename; -} - -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public boolean contains(String name) { - return (properties.containsKey(name) || defaultProperties.containsKey(name)); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public boolean getBoolean(String name) { - return getBoolean(properties, name); -} -/** - * Helper function: gets boolean for a given name. - */ -private boolean getBoolean(Properties p, String name) { - String value = p != null ? p.getProperty(name) : null; - if (value == null) - return BOOLEAN_DEFAULT_DEFAULT; - if (value.equals(IPropertyStore.TRUE)) - return true; - return false; -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public boolean getDefaultBoolean(String name) { - return getBoolean(defaultProperties, name); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public double getDefaultDouble(String name) { - return getDouble(defaultProperties, name); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public float getDefaultFloat(String name) { - return getFloat(defaultProperties, name); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public int getDefaultInt(String name) { - return getInt(defaultProperties, name); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public long getDefaultLong(String name) { - return getLong(defaultProperties, name); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public String getDefaultString(String name) { - return getString(defaultProperties, name); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public double getDouble(String name) { - return getDouble(properties, name); -} -/** - * Helper function: gets double for a given name. - */ -private double getDouble(Properties p, String name) { - String value = p != null ? p.getProperty(name) : null; - if (value == null) - return DOUBLE_DEFAULT_DEFAULT; - double ival = DOUBLE_DEFAULT_DEFAULT; - try { - ival = new Double(value).doubleValue(); - } catch (NumberFormatException e) { - } - return ival; -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public float getFloat(String name) { - return getFloat(properties, name); -} -/** - * Helper function: gets float for a given name. - */ -private float getFloat(Properties p, String name) { - String value = p != null ? p.getProperty(name) : null; - if (value == null) - return FLOAT_DEFAULT_DEFAULT; - float ival = FLOAT_DEFAULT_DEFAULT; - try { - ival = new Float(value).floatValue(); - } catch (NumberFormatException e) { - } - return ival; -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public int getInt(String name) { - return getInt(properties, name); -} -/** - * Helper function: gets int for a given name. - */ -private int getInt(Properties p, String name) { - String value = p != null ? p.getProperty(name) : null; - if (value == null) - return INT_DEFAULT_DEFAULT; - int ival = 0; - try { - ival = Integer.parseInt(value); - } catch (NumberFormatException e) { - } - return ival; -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public long getLong(String name) { - return getLong(properties, name); -} -/** - * Helper function: gets long for a given name. - */ -private long getLong(Properties p, String name) { - String value = p != null ? p.getProperty(name) : null; - if (value == null) - return LONG_DEFAULT_DEFAULT; - long ival = LONG_DEFAULT_DEFAULT; - try { - ival = Long.parseLong(value); - } catch (NumberFormatException e) { - } - return ival; -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public String getString(String name) { - return getString(properties, name); -} -/** - * Helper function: gets string for a given name. - */ -private String getString(Properties p, String name) { - String value = p != null ? p.getProperty(name) : null; - if (value == null) - return STRING_DEFAULT_DEFAULT; - return value; -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public boolean isDefault(String name) { - return (!properties.containsKey(name) && defaultProperties.containsKey(name)); -} -/** - * Prints the contents of this preference store to the given print stream. - * - * @param out the print stream - */ -public void list(PrintStream out) { - properties.list(out); -} -/** - * Prints the contents of this preference store to the given print writer. - * - * @param out the print writer - */ -public void list(PrintWriter out) { - properties.list(out); -} -/** - * Loads this preference store from the file established in the constructor - * PreferenceStore(java.lang.String) (or by setFileName). - * Default preference values are not affected. - * - * @exception java.io.IOException if there is a problem loading this store - */ -public void load() throws IOException { - if (filename == null) - throw new IOException("File name not specified");//$NON-NLS-1$ - FileInputStream in = new FileInputStream(filename); - load(in); - in.close(); -} -/** - * Loads this preference store from the given input stream. Default preference - * values are not affected. - * - * @param in the input stream - * @exception java.io.IOException if there is a problem loading this store - */ -public void load(InputStream in) throws IOException { - properties.load(in); - dirty = false; -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public boolean needsSaving() { - return dirty; -} -/** - * Returns an enumeration of all preferences known to this store which - * have current values other than their default value. - * - * @return an array of preference names - */ -public String[] preferenceNames() { - ArrayList list = new ArrayList(); - Enumeration enum = properties.propertyNames(); - while (enum.hasMoreElements()) { - list.add(enum.nextElement()); - } - return (String[])list.toArray(new String[list.size()]); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void putValue(String name, String value) { - setValue(properties, name, value); -} - -/** - * Saves the non-default-valued preferences known to this preference - * store to the file from which they were originally loaded. - * - * @exception java.io.IOException if there is a problem saving this store - */ -public void save() throws IOException { - if (filename == null) - throw new IOException("File name not specified");//$NON-NLS-1$ - FileOutputStream out = null; - try { - out = new FileOutputStream(filename); - save(out, null); - } finally { - if (out != null) - out.close(); - } -} -/** - * Saves this preference store to the given output stream. The - * given string is inserted as header information. - * - * @param out the output stream - * @param header the header - * @exception java.io.IOException if there is a problem saving this store - */ -public void save(OutputStream out, String header) throws IOException { - properties.store(out, header); - dirty = false; -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setDefault(String name, double value) { - setValue(defaultProperties, name, value); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setDefault(String name, float value) { - setValue(defaultProperties, name, value); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setDefault(String name, int value) { - setValue(defaultProperties, name, value); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setDefault(String name, long value) { - setValue(defaultProperties, name, value); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setDefault(String name, String value) { - setValue(defaultProperties, name, value); -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setDefault(String name, boolean value) { - setValue(defaultProperties, name, value); -} -/** - * Sets the name of the file used when loading and storing this preference store. - *

- * Afterward, the methods load() and save() can be used - * to load and store this preference store. - *

- * - * @param filename the file name - * @see #load() - * @see #store() - */ -public void setFilename(String name) { - filename = name; -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setToDefault(String name) { - // do nothing ... since we have not defined a - // firePropertyChangeEvent. Without it, - // this method does nothing anyway ... so - // why do all this work? - -// Object oldValue = properties.get(name); -// properties.remove(name); -// dirty = true; -// Object newValue = null; -// if (defaultProperties != null){ -// newValue = defaultProperties.get(name); -// } -// firePropertyChangeEvent(name, oldValue, newValue); - -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setValue(String name, double value) { - double oldValue = getDouble(name); - if (oldValue != value) { - setValue(properties, name, value); - dirty = true; - } -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setValue(String name, float value) { - float oldValue = getFloat(name); - if (oldValue != value) { - setValue(properties, name, value); - dirty = true; - } -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setValue(String name, int value) { - int oldValue = getInt(name); - if (oldValue != value) { - setValue(properties, name, value); - dirty = true; - } -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setValue(String name, long value) { - long oldValue = getLong(name); - if (oldValue != value) { - setValue(properties, name, value); - dirty = true; - } -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setValue(String name, String value) { - String oldValue = getString(name); - if (oldValue == null || !oldValue.equals(value)) { - setValue(properties, name, value); - dirty = true; - } -} -/* (non-Javadoc) - * Method declared on IPreferenceStore. - */ -public void setValue(String name, boolean value) { - boolean oldValue = getBoolean(name); - if (oldValue != value) { - setValue(properties, name, value); - dirty = true; - } -} -/** - * Helper method: sets string for a given name. - */ -private void setValue(Properties p, String name, double value) { - p.put(name, Double.toString(value)); -} -/** - * Helper method: sets string for a given name. - */ -private void setValue(Properties p, String name, float value) { - p.put(name, Float.toString(value)); -} -/** - * Helper method: sets string for a given name. - */ -private void setValue(Properties p, String name, int value) { - p.put(name, Integer.toString(value)); -} -/** - * Helper method: sets string for a given name. - */ -private void setValue(Properties p, String name, long value) { - p.put(name, Long.toString(value)); -} -/** - * Helper method: sets string for a given name. - */ -private void setValue(Properties p, String name, String value) { - p.put(name, value); -} -/** - * Helper method: sets string for a given name. - */ -private void setValue(Properties p, String name, boolean value) { - p.put(name, value == true ? IPropertyStore.TRUE : IPropertyStore.FALSE); -} -} diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/ResourcePropertyStore.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/ResourcePropertyStore.java deleted file mode 100644 index 621c4190f80..00000000000 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/ResourcePropertyStore.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.eclipse.cdt.internal; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import org.eclipse.cdt.core.resources.*; -import org.eclipse.core.resources.*; -import org.eclipse.core.runtime.QualifiedName; -import org.eclipse.core.runtime.CoreException; - -public class ResourcePropertyStore implements IPropertyStore { - private IResource resource; - private String pluginID; - - public ResourcePropertyStore(IResource resource, String pluginID) { - this.resource = resource; - this.pluginID = pluginID; - } - - public String getString(String name) { - QualifiedName qName = new QualifiedName(pluginID, name); - try { - return resource.getPersistentProperty(qName); - } catch (CoreException e) { - } - return null; - } - - public void setDefault(String name, String def) { - } - - public void putValue(String name, String value) { - QualifiedName qName = new QualifiedName(pluginID, name); - try { - resource.setPersistentProperty(qName, value); - } catch (CoreException e) { - } - } - -} - diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CBuilder.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CBuilder.java index b5e2414d5d0..73ab2d082ea 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CBuilder.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CBuilder.java @@ -27,8 +27,6 @@ import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.cdt.core.model.ICModelMarker; import org.eclipse.cdt.core.resources.ACBuilder; import org.eclipse.cdt.core.resources.IConsole; -import org.eclipse.cdt.core.resources.IPropertyStore; -import org.eclipse.cdt.internal.CCorePlugin; import org.eclipse.cdt.internal.errorparsers.ErrorParserManager; import org.eclipse.cdt.core.*; import org.eclipse.cdt.core.resources.*; @@ -39,11 +37,9 @@ public class CBuilder extends ACBuilder { private static final String BUILD_ERROR= "CBuilder.build_error"; - private IPropertyStore fPreferenceStore; private ErrorParserManager fErrorParserManager; public CBuilder() { - fPreferenceStore= CCorePlugin.getDefault().getPropertyStore(); fErrorParserManager= new ErrorParserManager(this); } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/FileStorage.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/FileStorage.java index ad0ca76ed3b..6049af081bf 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/FileStorage.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/FileStorage.java @@ -16,7 +16,7 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.IStatus; -import org.eclipse.cdt.internal.CCorePlugin; +import org.eclipse.cdt.core.CCorePlugin; /** * diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/ErrorParserManager.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/ErrorParserManager.java index cbd8ea4d43a..5702ec5d6f1 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/ErrorParserManager.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/ErrorParserManager.java @@ -22,8 +22,8 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; +import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.resources.ACBuilder; -import org.eclipse.cdt.internal.CCorePlugin; public class ErrorParserManager { private static String PREF_ERROR_PARSER= "errorOutputParser"; @@ -92,7 +92,7 @@ public class ErrorParserManager { private void readPreferences() { fErrorParsers.clear(); - String parserNames= CCorePlugin.getDefault().getPropertyStore().getString(PREF_ERROR_PARSER); + String parserNames= CCorePlugin.getDefault().getPluginPreferences().getString(PREF_ERROR_PARSER); if (parserNames != null && parserNames.length() > 0) { StringTokenizer tok= new StringTokenizer(parserNames, ";"); while (tok.hasMoreElements()) { @@ -133,7 +133,7 @@ public class ErrorParserManager { buf.append(fErrorParsers.get(i).getClass().getName()); buf.append(';'); } - CCorePlugin.getDefault().getPropertyStore().putValue(PREF_ERROR_PARSER, buf.toString()); + CCorePlugin.getDefault().getPluginPreferences().setValue(PREF_ERROR_PARSER, buf.toString()); } protected void collectFiles(IContainer parent, List result) { diff --git a/core/org.eclipse.cdt.ui/plugin.xml b/core/org.eclipse.cdt.ui/plugin.xml index 5ba6bb7e239..2e522b59406 100644 --- a/core/org.eclipse.cdt.ui/plugin.xml +++ b/core/org.eclipse.cdt.ui/plugin.xml @@ -29,23 +29,23 @@ - - + + - - - + + + - - - + + + @@ -148,8 +148,8 @@ id="org.eclipse.cdt.ui.CView"> - + - + @@ -398,5 +398,10 @@ id="org.eclipse.cdt.ui"> + + + + diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CConsole.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CConsole.java new file mode 100644 index 00000000000..d953e0e3edf --- /dev/null +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CConsole.java @@ -0,0 +1,32 @@ +/* + * (c) Copyright QNX Software System Ltd. 2002. + * All Rights Reserved. + */ +package org.eclipse.cdt.internal.ui; + +import org.eclipse.cdt.core.ConsoleOutputStream; +import org.eclipse.cdt.core.resources.IConsole; + +public class CConsole implements IConsole { + + /** + * Constructor for CConsole. + */ + public CConsole() { + super(); + } + + /** + * @see org.eclipse.cdt.core.resources.IConsole#clear() + */ + public void clear() { + CPlugin.getDefault().getConsole().clear(); + } + + /** + * @see org.eclipse.cdt.core.resources.IConsole#getOutputStream() + */ + public ConsoleOutputStream getOutputStream() { + return CPlugin.getDefault().getConsole().getOutputStream(); + } +} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CElementAdapterFactory.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CElementAdapterFactory.java index 68e65225bb9..94d25f855e3 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CElementAdapterFactory.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CElementAdapterFactory.java @@ -5,6 +5,11 @@ package org.eclipse.cdt.internal.ui; * All Rights Reserved. */ +import org.eclipse.cdt.core.model.CModelException; +import org.eclipse.cdt.core.model.IBinary; +import org.eclipse.cdt.core.model.ICElement; +import org.eclipse.cdt.core.model.ICFile; +import org.eclipse.cdt.core.model.ICResource; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; @@ -15,11 +20,6 @@ import org.eclipse.ui.views.properties.FilePropertySource; import org.eclipse.ui.views.properties.IPropertySource; import org.eclipse.ui.views.properties.ResourcePropertySource; -import org.eclipse.cdt.core.model.CModelException; -import org.eclipse.cdt.core.model.IBinary; -import org.eclipse.cdt.core.model.ICElement; -import org.eclipse.cdt.core.model.ICFile; - /** * Implements basic UI support for C elements. */ @@ -61,9 +61,10 @@ public class CElementAdapterFactory implements IAdapterFactory { } } else { try { - res = celem.getCorrespondingResource(); - if (res != null) + if ( celem instanceof ICResource ) { + res = ((ICResource)celem).getResource(); return new ResourcePropertySource(res); + } } catch (CModelException e) { } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPlugin.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPlugin.java index 29872413b21..751e178cc0f 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPlugin.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPlugin.java @@ -33,14 +33,11 @@ import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PartInitException; import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.ConsoleOutputStream; import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.core.model.ICElement; -import org.eclipse.cdt.core.resources.ICPlugin; import org.eclipse.cdt.core.resources.IConsole; -import org.eclipse.cdt.core.resources.IMessageDialog; -import org.eclipse.cdt.core.resources.IPropertyStore; -import org.eclipse.cdt.internal.CCorePlugin; import org.eclipse.cdt.internal.ui.cview.CView; import org.eclipse.cdt.internal.ui.editor.CDocumentProvider; import org.eclipse.cdt.internal.ui.editor.asm.AsmTextTools; @@ -51,7 +48,7 @@ import org.eclipse.cdt.internal.ui.util.ImageDescriptorRegistry; import org.eclipse.cdt.internal.ui.util.ProblemMarkerManager; -public class CPlugin extends AbstractUIPlugin implements ICPlugin { +public class CPlugin extends AbstractUIPlugin { public static final String PLUGIN_ID= "org.eclipse.cdt.ui"; public static final String PLUGIN_CORE_ID= "org.eclipse.cdt.core"; @@ -133,14 +130,6 @@ public class CPlugin extends AbstractUIPlugin implements ICPlugin { } // ------ CPlugin - - public IMessageDialog getMessageDialog() { - return new IMessageDialog() { - public void openError(String title, String msg) { - MessageDialog.openError(getActiveWorkbenchShell(), title, msg); - } - }; - } private ConsoleDocument fConsoleDocument; private CoreModel fCoreModel; @@ -214,27 +203,6 @@ public class CPlugin extends AbstractUIPlugin implements ICPlugin { } } - private IPropertyStore fPropertyStore; - - public IPropertyStore getPropertyStore() { - if (fPropertyStore == null) { - fPropertyStore = new IPropertyStore() { - public String getString(String name) { - return getPreferenceStore().getString(name); - } - public void putValue(String name, String value) { - getPreferenceStore().putValue(name, value); - } - public void setDefault(String name, String def) { - getPreferenceStore().setDefault(name, def); - } - }; - } - return fPropertyStore; - } - - // protected ACDebugModel fModel; - public CPlugin(IPluginDescriptor descriptor) { super(descriptor); fgCPlugin= this; @@ -321,7 +289,6 @@ public class CPlugin extends AbstractUIPlugin implements ICPlugin { IAdapterManager manager= Platform.getAdapterManager(); manager.registerAdapters(new ResourceAdapterFactory(), IResource.class); manager.registerAdapters(new CElementAdapterFactory(), ICElement.class); - manager.registerAdapters(new PluginAdapterFactory(), CCorePlugin.class); CPluginImages.initialize(); } @@ -348,15 +315,6 @@ public class CPlugin extends AbstractUIPlugin implements ICPlugin { return fCoreModel; } - public Object getAdapter(Class adapter) { - return Platform.getAdapterManager().getAdapter(this, adapter); - } - -/* - public ACDebugModel getDebugModel() { - return fModel; - } -*/ public static String getPluginId() { return PLUGIN_ID; } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/ErrorTickAdornmentProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/ErrorTickAdornmentProvider.java index 8e516685e78..e657f11f435 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/ErrorTickAdornmentProvider.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/ErrorTickAdornmentProvider.java @@ -7,18 +7,16 @@ package org.eclipse.cdt.internal.ui; import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.model.ICModelMarker; +import org.eclipse.cdt.core.model.ICResource; import org.eclipse.cdt.core.model.ISourceRange; import org.eclipse.cdt.core.model.ISourceReference; import org.eclipse.cdt.core.model.ITranslationUnit; - import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; - import org.eclipse.jface.text.Position; import org.eclipse.jface.text.source.Annotation; import org.eclipse.jface.text.source.IAnnotationModel; - import org.eclipse.ui.texteditor.MarkerAnnotation; import org.eclipse.ui.texteditor.MarkerUtilities; @@ -43,9 +41,9 @@ public class ErrorTickAdornmentProvider implements IAdornmentProvider { switch (type) { case ICElement.C_PROJECT: case ICElement.C_FOLDER: - return getErrorTicksFromMarkers(element.getCorrespondingResource(), IResource.DEPTH_INFINITE, null); + return getErrorTicksFromMarkers(((ICResource)element).getResource(), IResource.DEPTH_INFINITE, null); case ICElement.C_FILE: - return getErrorTicksFromMarkers(element.getCorrespondingResource(), IResource.DEPTH_ONE, null); + return getErrorTicksFromMarkers(((ICResource)element).getResource(), IResource.DEPTH_ONE, null); case ICElement.C_FUNCTION: case ICElement.C_CLASS: case ICElement.C_UNION: @@ -56,7 +54,7 @@ public class ErrorTickAdornmentProvider implements IAdornmentProvider { if (tu != null && tu.exists()) { // I assume that only source elements in compilation unit can have markers ISourceRange range= ((ISourceReference)element).getSourceRange(); - return getErrorTicksFromMarkers(tu.getCorrespondingResource(), IResource.DEPTH_ONE, range); + return getErrorTicksFromMarkers(tu.getResource(), IResource.DEPTH_ONE, range); } default: } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/PluginAdapterFactory.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/PluginAdapterFactory.java deleted file mode 100644 index 4c42e1cef21..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/PluginAdapterFactory.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.eclipse.cdt.internal.ui; - -/* - * (c) Copyright IBM Corp. 2000, 2001. - * All Rights Reserved. - */ - -import org.eclipse.cdt.core.resources.*; -import org.eclipse.cdt.internal.CCorePlugin; -import org.eclipse.core.runtime.IAdapterFactory; - -//import org.eclipse.cdt.core.model.ICElement; -//import org.eclipse.cdt.core.model.CCore; - -public class PluginAdapterFactory implements IAdapterFactory { - - private static Class[] PROPERTIES= new Class[] { - ICPlugin.class - }; - - //private static CCore fgCElementFactory= CCore.getDefault(); - - /** - * @see IAdapterFactory#getAdapterList - */ - public Class[] getAdapterList() { - return PROPERTIES; - } - - /** - * @see IAdapterFactory#getAdapter - */ - public Object getAdapter(Object element, Class key) { - if (ICPlugin.class.equals(key)) { - if (element instanceof CCorePlugin) { - return CPlugin.getDefault(); - } - } - return null; - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CElementFilters.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CElementFilters.java index 28e29cefda8..dde65eb9aaf 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CElementFilters.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CElementFilters.java @@ -46,7 +46,7 @@ public class CElementFilters { if (definedFilters == null) { // Overide the default by the user preference CPlugin plugin = CPlugin.getDefault(); - String storedPatterns= plugin.getPropertyStore().getString(FILTERS_TAG); + String storedPatterns= plugin.getPluginPreferences().getString(FILTERS_TAG); if (storedPatterns.length() > 0) { StringTokenizer entries = new StringTokenizer(storedPatterns, COMMA_SEPARATOR); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/dialogs/StatusInfo.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/dialogs/StatusInfo.java index 84b6cc354ba..8e531198b71 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/dialogs/StatusInfo.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/dialogs/StatusInfo.java @@ -7,7 +7,7 @@ package org.eclipse.cdt.internal.ui.dialogs; import org.eclipse.core.runtime.IStatus; -import org.eclipse.cdt.internal.CCorePlugin; +import org.eclipse.cdt.core.CCorePlugin; /** * A settable IStatus diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CProjectPropertyPage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CProjectPropertyPage.java index fb7ba5d34d8..573f7bd13cd 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CProjectPropertyPage.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CProjectPropertyPage.java @@ -5,12 +5,20 @@ package org.eclipse.cdt.internal.ui.preferences; * All Rights Reserved. */ +import org.eclipse.cdt.internal.ui.CPlugin; +import org.eclipse.cdt.internal.ui.ICHelpContextIds; +import org.eclipse.cdt.internal.ui.dialogs.IStatusChangeListener; +import org.eclipse.cdt.internal.ui.dialogs.StatusTool; +import org.eclipse.cdt.ui.wizards.ReferenceBlock; +import org.eclipse.cdt.ui.wizards.SettingsBlock; +import org.eclipse.cdt.utils.ui.controls.TabFolderLayout; +import org.eclipse.cdt.utils.ui.swt.IValidation; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IStatus; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; @@ -20,15 +28,6 @@ import org.eclipse.ui.dialogs.PropertyPage; import org.eclipse.ui.help.DialogPageContextComputer; import org.eclipse.ui.help.WorkbenchHelp; -import org.eclipse.cdt.internal.ui.CPlugin; -import org.eclipse.cdt.internal.ui.ICHelpContextIds; -import org.eclipse.cdt.internal.ui.dialogs.IStatusChangeListener; -import org.eclipse.cdt.internal.ui.dialogs.StatusTool; -import org.eclipse.cdt.ui.wizards.ReferenceBlock; -import org.eclipse.cdt.ui.wizards.SettingsBlock; -import org.eclipse.cdt.utils.ui.swt.IValidation; -import org.eclipse.cdt.utils.ui.controls.TabFolderLayout; - public class CProjectPropertyPage extends PropertyPage implements IStatusChangeListener, IValidation { private static final String MSG_NOCPROJECT= "CProjectPropertyPage.nocproject"; @@ -40,7 +39,7 @@ public class CProjectPropertyPage extends PropertyPage implements IStatusChangeL protected Control createContents(Composite parent) { Composite composite= new Composite(parent, SWT.NONE); - composite.setLayout(new GridLayout()); + composite.setLayout(new FillLayout()); IProject project= getProject(); if (!project.isOpen()) { @@ -55,8 +54,6 @@ public class CProjectPropertyPage extends PropertyPage implements IStatusChangeL private void contentForCProject(Composite parent) { folder = new TabFolder(parent, SWT.NONE); folder.setLayout(new TabFolderLayout()); - GridData gdFolder= new GridData(GridData.FILL_HORIZONTAL); - folder.setLayoutData(gdFolder); referenceBlock = new ReferenceBlock(this, getProject()); TabItem item = new TabItem(folder, SWT.NONE); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/ReferenceBlock.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/ReferenceBlock.java index d40c887839a..6ec1f6e2277 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/ReferenceBlock.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/ReferenceBlock.java @@ -31,6 +31,7 @@ import org.eclipse.ui.model.WorkbenchLabelProvider; import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.internal.ui.CPlugin; import org.eclipse.cdt.internal.ui.CPluginImages; +import org.eclipse.cdt.utils.ui.controls.ControlFactory; import org.eclipse.cdt.utils.ui.swt.IValidation; public class ReferenceBlock implements IWizardTab { @@ -59,14 +60,9 @@ public class ReferenceBlock implements IWizardTab { lbldata.horizontalSpan = 1; label.setLayoutData(lbldata); - referenceProjectsViewer = new CheckboxTableViewer(composite, SWT.BORDER); - GridData data = new GridData(); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; + referenceProjectsViewer = ControlFactory.createListViewer + (composite, null, SWT.DEFAULT, SWT.DEFAULT, GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); - data.heightHint = getDefaultFontHeight( referenceProjectsViewer.getTable(), - PROJECT_LIST_MULTIPLIER); - referenceProjectsViewer.getTable().setLayoutData(data); referenceProjectsViewer.setLabelProvider(new WorkbenchLabelProvider()); referenceProjectsViewer.setContentProvider(getContentProvider()); referenceProjectsViewer.setInput(ResourcesPlugin.getWorkspace()); @@ -96,11 +92,11 @@ public class ReferenceBlock implements IWizardTab { if (!(element instanceof IWorkspace)) return new Object[0]; ArrayList aList = new ArrayList(15); - IProject[] projects = ((IWorkspace)element).getRoot().getProjects(); + final IProject[] projects = ((IWorkspace)element).getRoot().getProjects(); for (int i = 0; i < projects.length; i++) { if (CoreModel.hasCNature(projects[i])) { // Do not show the actual project being look at - if (project != null && project.equals(projects[i])) { + if ((project != null) && project.equals(projects[i])) { continue; } aList.add(projects[i]);