[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/ChangeLog,v
retrieving revision 1.72
diff -u -r1.72 ChangeLog
--- ChangeLog 19 Mar 2003 20:21:39 -0000 1.72
+++ ChangeLog 27 Mar 2003 16:09:27 -0000
@@ -1,3 +1,32 @@
+2003-03-27 Alain Magloire
+
+ Some changes in the Core Model to make it closer to JDT, the hierarchy is now:
+ ICModel
+ ICProject
+ ICContainer
+ ITranslationUnit
+ IArchive
+ IBinary
+
+ We now adjust the code.
+
+ src/org/eclipse/cdt/internal/ui/BaseCElementContentProvider.java
+ src/org/eclipse/cdt/internal/ui/BinaryPropertySource.java
+ src/org/eclipse/cdt/internal/ui/CElementAdapterFactory.java
+ src/org/eclipse/cdt/internal/ui/CElementImageProvider.java
+ src/org/eclipse/cdt/internal/ui/ErrorTickAdornmentProvider.java
+ src/org/eclipse/cdt/internal/ui/compare/CStructureCreator.java
+ src/org/eclipse/cdt/internal/ui/cview/CPatternFilter.java
+ src/org/eclipse/cdt/internal/ui/cview/CView.java
+ src/org/eclipse/cdt/internal/ui/cview/CViewDragAdapter.java
+ src/org/eclipse/cdt/internal/ui/cview/CViewSorter.java
+ src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java
+ src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java
+ src/org/eclipse/cdt/internal/ui/util/EditorUtility.java
+ src/org/eclipse/cdt/ui/CElementContentProvider.java
+ src/org/eclipse/cdt/ui/CElementLabelProvider.java
+ src/org/eclipse/cdt/ui/CUIPlugin.java
+
2003-03-19 Alain Magloire
Patch From Amer Hoda, to use the Working Copy of ICElement use in
Index: src/org/eclipse/cdt/internal/ui/BaseCElementContentProvider.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/BaseCElementContentProvider.java,v
retrieving revision 1.3
diff -u -r1.3 BaseCElementContentProvider.java
--- src/org/eclipse/cdt/internal/ui/BaseCElementContentProvider.java 23 Sep 2002 16:44:44 -0000 1.3
+++ src/org/eclipse/cdt/internal/ui/BaseCElementContentProvider.java 27 Mar 2003 16:09:30 -0000
@@ -8,19 +8,22 @@
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
+import org.eclipse.cdt.core.model.CModelException;
+import org.eclipse.cdt.core.model.IArchive;
import org.eclipse.cdt.core.model.IArchiveContainer;
+import org.eclipse.cdt.core.model.IBinary;
import org.eclipse.cdt.core.model.IBinaryContainer;
+import org.eclipse.cdt.core.model.ICContainer;
import org.eclipse.cdt.core.model.ICElement;
-import org.eclipse.cdt.core.model.ICFile;
+import org.eclipse.cdt.core.model.ICModel;
import org.eclipse.cdt.core.model.ICProject;
import org.eclipse.cdt.core.model.IParent;
+import org.eclipse.cdt.core.model.ITranslationUnit;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
/**
* A base content provider for C elements. It provides access to the
@@ -33,11 +36,12 @@
* <pre>
C model (<code>ICModel</code>)
C project (<code>ICProject</code>)
- C Folder (<code>ICFolder</code>)
- C File (<code>ICFile</code>)
+ C Container(folders) (<code>ICContainer</code>)
Translation unit (<code>ITranslationUnit</code>)
Binary file (<code>IBinary</code>)
Archive file (<code>IArchive</code>)
+ Non C Resource file (<code>Object</code>)
+
* </pre>
*/
public class BaseCElementContentProvider implements ITreeContentProvider {
@@ -112,26 +116,18 @@
public Object[] getChildren(Object element) {
if (element instanceof ICElement) {
ICElement celement = (ICElement)element;
- if (celement.getElementType() == ICElement.C_FILE) {
+ if (celement instanceof ICModel) {
+ return getCProjects((ICModel)celement);
+ } else if (celement instanceof ICProject ) {
+ return getCProjectResources((ICProject)celement);
+ } else if (celement instanceof ICContainer) {
+ return getCResources((ICContainer)celement);
+ } else if (celement.getElementType() == ICElement.C_UNIT) {
if (fProvideMembers) {
return ((IParent)element).getChildren();
}
} else if (celement instanceof IParent) {
- if (celement instanceof ICProject ) {
- ICElement[] children = ((IParent)celement).getChildren();
- ArrayList list = new ArrayList(children.length);
- for( int i = 0; i < children.length; i++ ) {
- // Note, here we are starting the Archive and binary containers thread upfront.
- if (children[i] instanceof IArchiveContainer || children[i] instanceof IBinaryContainer) {
- if ( ((IParent)children[i]).getChildren().length == 0 ) {
- continue;
- }
- }
- list.add(children[i]);
- }
- return list.toArray();
- } else
- return (Object[])((IParent)celement).getChildren();
+ return (Object[])((IParent)celement).getChildren();
}
}
return getResources(element);
@@ -143,24 +139,26 @@
*/
public boolean hasChildren(Object element) {
if (fProvideMembers) {
- if (element instanceof ICFile) {
- ICFile cfile = (ICFile)element;
- // assume TUs and binary files are never empty
- if (cfile.isBinary() || cfile.isTranslationUnit() || cfile.isArchive()) {
- return true;
- }
+ // assume TUs and binary files are never empty
+ if (element instanceof IBinary || element instanceof ITranslationUnit || element instanceof IArchive) {
+ return true;
}
} else {
// don't allow to drill down into a compilation unit or class file
- if (element instanceof ICFile || element instanceof IFile)
+ if (element instanceof ITranslationUnit || element instanceof IBinary || element instanceof IArchive) {
return false;
+ }
}
if (element instanceof ICProject) {
ICProject cp= (ICProject)element;
if (!cp.getProject().isOpen()) {
return false;
- }
+ } else {
+ return true;
+ }
+ } else if (element instanceof ICContainer) {
+ return true;
}
if (element instanceof IParent) {
@@ -186,6 +184,36 @@
return null;
}
+ protected Object[] getCProjects(ICModel cModel) {
+ return cModel.getCProjects();
+ }
+
+ protected Object[] getCProjectResources(ICProject cproject) {
+ Object[] objects = getCResources((ICContainer)cproject);
+ IArchiveContainer archives = cproject.getArchiveContainer();
+ if (archives.hasChildren()) {
+ objects = concatenate(objects, new Object[] {archives});
+ }
+ IBinaryContainer bins = cproject.getBinaryContainer();
+ if (bins.hasChildren()) {
+ objects = concatenate(objects, new Object[] {bins});
+ }
+ return objects;
+ }
+
+ protected Object[] getCResources(ICContainer container) {
+ Object[] objects = null;
+ Object[] children = container.getChildren();
+ try {
+ objects = container.getNonCResources();
+ } catch (CModelException e) {
+ }
+ if (objects == null) {
+ return children;
+ }
+ return concatenate(children, objects);
+ }
+
private Object[] getResources(Object resource) {
try {
if (resource instanceof IContainer) {
@@ -224,4 +252,18 @@
}
return true;
}
+
+
+ /**
+ * Note: This method is for internal use only. Clients should not call this method.
+ */
+ protected static Object[] concatenate(Object[] a1, Object[] a2) {
+ int a1Len = a1.length;
+ int a2Len = a2.length;
+ Object[] res = new Object[a1Len + a2Len];
+ System.arraycopy(a1, 0, res, 0, a1Len);
+ System.arraycopy(a2, 0, res, a1Len, a2Len);
+ return res;
+ }
+
}
Index: src/org/eclipse/cdt/internal/ui/BinaryPropertySource.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/BinaryPropertySource.java,v
retrieving revision 1.3
diff -u -r1.3 BinaryPropertySource.java
--- src/org/eclipse/cdt/internal/ui/BinaryPropertySource.java 22 Nov 2002 16:32:54 -0000 1.3
+++ src/org/eclipse/cdt/internal/ui/BinaryPropertySource.java 27 Mar 2003 16:09:30 -0000
@@ -5,14 +5,14 @@
* All Rights Reserved.
*/
+import org.eclipse.cdt.core.model.IBinary;
+import org.eclipse.cdt.ui.CUIPlugin;
+import org.eclipse.jface.viewers.IBasicPropertyConstants;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.FilePropertySource;
+import org.eclipse.ui.views.properties.IPropertySource;
import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.cdt.core.model.IBinary;
-import org.eclipse.cdt.ui.*;
-
-public class BinaryPropertySource extends FilePropertySource {
+public class BinaryPropertySource implements IPropertySource {
private final static String ELF_CPU= "CElementProperties.elf_cpu";
private final static String ELF_TEXT= "CElementProperties.elf_text";
@@ -78,8 +78,7 @@
}
public BinaryPropertySource(IBinary bin) {
- super(bin.getFile());
- this.binary= bin;
+ binary= bin;
}
/**
@@ -95,14 +94,15 @@
* @see IPropertySource#getPropertyValue
*/
public Object getPropertyValue(Object name) {
- if (element != null) {
- Object returnValue = super.getPropertyValue(name);
-
- if(returnValue != null)
- return returnValue;
- }
-
- if (name.equals(ICElementPropertyConstants.P_ELF_CPU)) {
+// if (element != null) {
+// Object returnValue = super.getPropertyValue(name);
+//
+// if(returnValue != null)
+// return returnValue;
+// }
+ if (name.equals(IBasicPropertyConstants.P_TEXT)) {
+ return binary.getElementName();
+ } else if (name.equals(ICElementPropertyConstants.P_ELF_CPU)) {
return binary.getCPU();
} else if (name.equals(ICElementPropertyConstants.P_ELF_TEXT)) {
return Long.toString(binary.getText());
@@ -143,12 +143,40 @@
* Return the Property Descriptors for the file type.
*/
private void initializeBinaryDescriptors() {
- IPropertyDescriptor[] superDescriptors = super.getPropertyDescriptors();
- int superLength = superDescriptors.length;
- IPropertyDescriptor[] binDescriptors = getInitialPropertyDescriptor();
- int binLength = binDescriptors.length;
- fgPropertyDescriptors = new IPropertyDescriptor[superLength + binLength];
- System.arraycopy(superDescriptors, 0, fgPropertyDescriptors, 0, superLength);
- System.arraycopy(binDescriptors, 0, fgPropertyDescriptors, superLength, binLength);
+// IPropertyDescriptor[] superDescriptors = super.getPropertyDescriptors();
+// int superLength = superDescriptors.length;
+// IPropertyDescriptor[] binDescriptors = getInitialPropertyDescriptor();
+// int binLength = binDescriptors.length;
+// fgPropertyDescriptors = new IPropertyDescriptor[superLength + binLength];
+// System.arraycopy(superDescriptors, 0, fgPropertyDescriptors, 0, superLength);
+// System.arraycopy(binDescriptors, 0, fgPropertyDescriptors, superLength, binLength);
+ fgPropertyDescriptors = getInitialPropertyDescriptor();
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
+ */
+ public Object getEditableValue() {
+ return this;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
+ */
+ public boolean isPropertySet(Object id) {
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
+ */
+ public void resetPropertyValue(Object id) {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
+ */
+ public void setPropertyValue(Object id, Object value) {
+ }
+
}
Index: src/org/eclipse/cdt/internal/ui/CElementAdapterFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CElementAdapterFactory.java,v
retrieving revision 1.4
diff -u -r1.4 CElementAdapterFactory.java
--- src/org/eclipse/cdt/internal/ui/CElementAdapterFactory.java 10 Jan 2003 18:38:47 -0000 1.4
+++ src/org/eclipse/cdt/internal/ui/CElementAdapterFactory.java 27 Mar 2003 16:09:30 -0000
@@ -8,8 +8,6 @@
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;
@@ -51,21 +49,17 @@
try {
if (IPropertySource.class.equals(key)) {
- if (celem.getElementType() == ICElement.C_FILE) {
- if (celem instanceof IBinary) {
- return new BinaryPropertySource((IBinary)celem);
- }
- IFile file = ((ICFile)celem).getFile();
- if (file != null) {
- return new FilePropertySource(file);
+ if (celem instanceof IBinary) {
+ return new BinaryPropertySource((IBinary)celem);
+ } else if (celem.getElementType() == ICElement.C_UNIT) {
+ IResource file = celem.getResource();
+ if (file != null && file instanceof IFile) {
+ return new FilePropertySource((IFile)file);
}
} else {
- try {
- if ( celem instanceof ICResource ) {
- res = ((ICResource)celem).getResource();
- return new ResourcePropertySource(res);
- }
- } catch (CModelException e) {
+ res = celem.getResource();
+ if (res != null) {
+ return new ResourcePropertySource(res);
}
}
return new CElementPropertySource(celem);
Index: src/org/eclipse/cdt/internal/ui/CElementImageProvider.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CElementImageProvider.java,v
retrieving revision 1.5
diff -u -r1.5 CElementImageProvider.java
--- src/org/eclipse/cdt/internal/ui/CElementImageProvider.java 26 Mar 2003 16:02:58 -0000 1.5
+++ src/org/eclipse/cdt/internal/ui/CElementImageProvider.java 27 Mar 2003 16:09:31 -0000
@@ -5,22 +5,19 @@
* All Rights Reserved.
*/
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-
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.ICProject;
import org.eclipse.cdt.core.model.IMember;
import org.eclipse.cdt.core.model.IMethodDeclaration;
import org.eclipse.cdt.internal.ui.util.ImageDescriptorRegistry;
-import org.eclipse.cdt.ui.*;
+import org.eclipse.cdt.ui.CElementImageDescriptor;
+import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IAdaptable;
-
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.model.IWorkbenchAdapter;
@@ -96,9 +93,9 @@
if (element instanceof ICElement) {
descriptor= getCImageDescriptor((ICElement) element, flags);
}
- if (descriptor == null && element instanceof ICFile) {
- element = ((ICFile)element).getFile();
- }
+// if (descriptor == null && element instanceof ICFile) {
+// element = ((ICFile)element).getFile();
+// }
if (descriptor == null && element instanceof IAdaptable) {
descriptor= getWorkbenchImageDescriptor((IAdaptable) element, flags);
}
@@ -159,31 +156,30 @@
public ImageDescriptor getBaseImageDescriptor(ICElement celement, int renderFlags) {
int type = celement.getElementType();
switch (type) {
- case ICElement.C_CONTAINER:
+ case ICElement.C_VCONTAINER:
return CPluginImages.DESC_OBJS_CONTAINER;
- case ICElement.C_FILE:
- ICFile cfile = (ICFile)celement;
- if (cfile.isArchive()) {
- return CPluginImages.DESC_OBJS_ARCHIVE;
- } else if (cfile.isBinary()) {
- IBinary bin = (IBinary)cfile;
- if (bin.isExecutable()) {
- if (bin.hasDebug())
- return CPluginImages.DESC_OBJS_CEXEC_DEBUG;
- return CPluginImages.DESC_OBJS_CEXEC;
- } else if (bin.isSharedLib()) {
- return CPluginImages.DESC_OBJS_SHLIB;
- } else if (bin.isCore()) {
- return CPluginImages.DESC_OBJS_CORE;
- }
- return CPluginImages.DESC_OBJS_BINARY;
- } else if (cfile.isTranslationUnit()) {
- return CPluginImages.DESC_OBJS_TUNIT;
+ case ICElement.C_BINARY: {
+ IBinary bin = (IBinary)celement;
+ if (bin.isExecutable()) {
+ if (bin.hasDebug())
+ return CPluginImages.DESC_OBJS_CEXEC_DEBUG;
+ return CPluginImages.DESC_OBJS_CEXEC;
+ } else if (bin.isSharedLib()) {
+ return CPluginImages.DESC_OBJS_SHLIB;
+ } else if (bin.isCore()) {
+ return CPluginImages.DESC_OBJS_CORE;
}
- break;
+ return CPluginImages.DESC_OBJS_BINARY;
+ }
+
+ case ICElement.C_ARCHIVE:
+ return CPluginImages.DESC_OBJS_ARCHIVE;
+
+ case ICElement.C_UNIT:
+ return CPluginImages.DESC_OBJS_TUNIT;
- case ICElement.C_FOLDER:
+ case ICElement.C_CCONTAINER:
return DESC_OBJ_FOLDER;
case ICElement.C_PROJECT:
@@ -241,10 +237,10 @@
public ImageDescriptor getCElementImageDescriptor(int type) {
switch (type) {
- case ICElement.C_CONTAINER:
+ case ICElement.C_VCONTAINER:
return CPluginImages.DESC_OBJS_CONTAINER;
- case ICElement.C_FILE:
+ case ICElement.C_UNIT:
return CPluginImages.DESC_OBJS_TUNIT;
case ICElement.C_STRUCT:
Index: src/org/eclipse/cdt/internal/ui/ErrorTickAdornmentProvider.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/ErrorTickAdornmentProvider.java,v
retrieving revision 1.4
diff -u -r1.4 ErrorTickAdornmentProvider.java
--- src/org/eclipse/cdt/internal/ui/ErrorTickAdornmentProvider.java 4 Feb 2003 20:00:45 -0000 1.4
+++ src/org/eclipse/cdt/internal/ui/ErrorTickAdornmentProvider.java 27 Mar 2003 16:09:32 -0000
@@ -7,11 +7,10 @@
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.cdt.ui.*;
+import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
@@ -41,10 +40,10 @@
int type= element.getElementType();
switch (type) {
case ICElement.C_PROJECT:
- case ICElement.C_FOLDER:
- return getErrorTicksFromMarkers(((ICResource)element).getResource(), IResource.DEPTH_INFINITE, null);
- case ICElement.C_FILE:
- return getErrorTicksFromMarkers(((ICResource)element).getResource(), IResource.DEPTH_ONE, null);
+ case ICElement.C_CCONTAINER:
+ return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_INFINITE, null);
+ case ICElement.C_UNIT:
+ return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_ONE, null);
case ICElement.C_FUNCTION:
case ICElement.C_CLASS:
case ICElement.C_UNION:
Index: src/org/eclipse/cdt/internal/ui/compare/CStructureCreator.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/compare/CStructureCreator.java,v
retrieving revision 1.3
diff -u -r1.3 CStructureCreator.java
--- src/org/eclipse/cdt/internal/ui/compare/CStructureCreator.java 6 Feb 2003 20:48:31 -0000 1.3
+++ src/org/eclipse/cdt/internal/ui/compare/CStructureCreator.java 27 Mar 2003 16:09:32 -0000
@@ -64,7 +64,7 @@
Document doc= new Document(s != null ? s : "");
- CNode root= new CNode(null, ICElement.C_FILE, "root", doc, 0, 0);
+ CNode root= new CNode(null, ICElement.C_UNIT, "root", doc, 0, 0);
DocumentInputStream is= new DocumentInputStream(doc);
IStructurizerCallback callback= new CNodeTreeConstructor(root, doc);
Index: src/org/eclipse/cdt/internal/ui/cview/CPatternFilter.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CPatternFilter.java,v
retrieving revision 1.2
diff -u -r1.2 CPatternFilter.java
--- src/org/eclipse/cdt/internal/ui/cview/CPatternFilter.java 29 Oct 2002 21:40:58 -0000 1.2
+++ src/org/eclipse/cdt/internal/ui/cview/CPatternFilter.java 27 Mar 2003 16:09:33 -0000
@@ -17,7 +17,7 @@
import org.eclipse.cdt.internal.ui.util.StringMatcher;
import org.eclipse.cdt.ui.CUIPlugin;
-import org.eclipse.cdt.core.model.ICFolder;
+import org.eclipse.cdt.core.model.ICContainer;
import org.eclipse.cdt.core.model.ICProject;
public class CPatternFilter extends ViewerFilter {
@@ -108,7 +108,7 @@
// Only apply the rule for Projects and folders.
if (parentElement instanceof ICProject
- || parentElement instanceof ICFolder) {
+ || parentElement instanceof ICContainer) {
if (resource != null) {
String name = resource.getName();
StringMatcher[] testMatchers = getMatchers();
Index: src/org/eclipse/cdt/internal/ui/cview/CView.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CView.java,v
retrieving revision 1.15
diff -u -r1.15 CView.java
--- src/org/eclipse/cdt/internal/ui/cview/CView.java 20 Feb 2003 21:15:19 -0000 1.15
+++ src/org/eclipse/cdt/internal/ui/cview/CView.java 27 Mar 2003 16:09:36 -0000
@@ -14,8 +14,7 @@
import org.eclipse.cdt.core.model.IBinary;
import org.eclipse.cdt.core.model.IBinaryContainer;
import org.eclipse.cdt.core.model.ICElement;
-import org.eclipse.cdt.core.model.ICFile;
-import org.eclipse.cdt.core.model.ICRoot;
+import org.eclipse.cdt.core.model.ICModel;
import org.eclipse.cdt.core.model.IParent;
import org.eclipse.cdt.core.resources.MakeUtil;
import org.eclipse.cdt.internal.ui.StandardCElementLabelProvider;
@@ -263,7 +262,7 @@
public void treeExpanded(TreeExpansionEvent event) {
final Object element= event.getElement();
- if (element instanceof ICFile) {
+ if (element instanceof IParent) {
//viewer.refresh (element);
Control ctrl= viewer.getControl();
if (ctrl != null && !ctrl.isDisposed()) {
@@ -447,7 +446,7 @@
else
initFilterFromPreferences();
- viewer.setInput (CoreModel.getDefault().getCRoot());
+ viewer.setInput (CoreModel.getDefault().getCModel());
MenuManager menuMgr= new MenuManager("#PopupMenu"); //$NON-NLS-1$
menuMgr.setRemoveAllWhenShown(true);
@@ -967,7 +966,7 @@
ICElement celement = (ICElement)o;
IResource res = (IResource)celement.getAdapter(IResource.class);
if (res != null) {
- if (celement.getElementType() == ICElement.C_CONTAINER) {
+ if (celement.getElementType() == ICElement.C_VCONTAINER) {
ICElement parent = celement.getParent();
IResource proj = (IResource)parent.getAdapter(IResource.class);
if (celement instanceof IArchiveContainer)
@@ -993,7 +992,7 @@
void updateTitle () {
Object input= getViewer().getInput();
String viewName= getConfigurationElement().getAttribute("name"); //$NON-NLS-1$
- if (input == null || (input instanceof ICRoot)) {
+ if (input == null || (input instanceof ICModel)) {
setTitle(viewName);
setTitleToolTip(""); //$NON-NLS-1$
} else {
Index: src/org/eclipse/cdt/internal/ui/cview/CViewDragAdapter.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CViewDragAdapter.java,v
retrieving revision 1.1
diff -u -r1.1 CViewDragAdapter.java
--- src/org/eclipse/cdt/internal/ui/cview/CViewDragAdapter.java 26 Jun 2002 20:55:44 -0000 1.1
+++ src/org/eclipse/cdt/internal/ui/cview/CViewDragAdapter.java 27 Mar 2003 16:09:37 -0000
@@ -9,6 +9,8 @@
import java.util.Iterator;
import java.util.List;
+import org.eclipse.cdt.core.model.CModelException;
+import org.eclipse.cdt.core.model.ICElement;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.viewers.ISelection;
@@ -22,11 +24,6 @@
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.part.ResourceTransfer;
-import org.eclipse.cdt.core.model.CModelException;
-import org.eclipse.cdt.core.model.ICElement;
-import org.eclipse.cdt.core.model.ICFile;
-import org.eclipse.cdt.core.model.ICFolder;
-
/**
* Implements drag behaviour when items are dragged out of the
* resource navigator.
@@ -102,7 +99,15 @@
IStructuredSelection selection = (IStructuredSelection)selectionProvider.getSelection();
for (Iterator i = selection.iterator(); i.hasNext();) {
Object next = i.next();
- if (!(next instanceof ICFile || next instanceof ICFolder)) {
+ IResource res = null;
+ if (next instanceof ICElement) {
+ ICElement celement = (ICElement)next;
+ try {
+ res = celement.getResource();
+ } catch (CModelException e) {
+ }
+ }
+ if (res == null) {
event.doit = false;
return;
}
Index: src/org/eclipse/cdt/internal/ui/cview/CViewSorter.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CViewSorter.java,v
retrieving revision 1.3
diff -u -r1.3 CViewSorter.java
--- src/org/eclipse/cdt/internal/ui/cview/CViewSorter.java 23 Jan 2003 16:50:06 -0000 1.3
+++ src/org/eclipse/cdt/internal/ui/cview/CViewSorter.java 27 Mar 2003 16:09:37 -0000
@@ -9,17 +9,20 @@
import org.eclipse.cdt.core.model.CoreModel;
import org.eclipse.cdt.core.model.IArchive;
import org.eclipse.cdt.core.model.IArchiveContainer;
+import org.eclipse.cdt.core.model.IBinary;
import org.eclipse.cdt.core.model.IBinaryContainer;
+import org.eclipse.cdt.core.model.ICContainer;
import org.eclipse.cdt.core.model.ICElement;
-import org.eclipse.cdt.core.model.ICFile;
-import org.eclipse.cdt.core.model.ICFolder;
+import org.eclipse.cdt.core.model.ICModel;
import org.eclipse.cdt.core.model.ICProject;
-import org.eclipse.cdt.core.model.ICRoot;
import org.eclipse.cdt.core.model.IFunction;
import org.eclipse.cdt.core.model.IFunctionDeclaration;
import org.eclipse.cdt.core.model.IInclude;
import org.eclipse.cdt.core.model.IMacro;
+import org.eclipse.cdt.core.model.IMethod;
+import org.eclipse.cdt.core.model.IMethodDeclaration;
import org.eclipse.cdt.core.model.INamespace;
+import org.eclipse.cdt.core.model.ITranslationUnit;
import org.eclipse.cdt.core.model.IUsing;
import org.eclipse.cdt.core.model.IVariable;
import org.eclipse.cdt.core.model.IVariableDeclaration;
@@ -38,7 +41,7 @@
public class CViewSorter extends ViewerSorter {
public int category (Object element) {
- if (element instanceof ICRoot) {
+ if (element instanceof ICModel) {
return 0;
} else if (element instanceof ICProject) {
return 10;
@@ -46,12 +49,12 @@
return 20;
} else if (element instanceof IArchiveContainer) {
return 30;
- } else if (element instanceof ICFolder) {
+ } else if (element instanceof ICContainer) {
return 40;
- } else if (element instanceof ICFile) {
+ } else if (element instanceof ITranslationUnit) {
IResource res = null;
try {
- res = ((ICFile)element).getUnderlyingResource();
+ res = ((ITranslationUnit)element).getUnderlyingResource();
} catch (CModelException e) {
}
if (res != null) {
@@ -66,7 +69,7 @@
String[] sources = CoreModel.getDefault().getSourceExtensions();
for (int i = 0; i < sources.length; i++) {
if (ext.equals(sources[i])) {
- return 44;
+ return 47;
}
}
return 48;
@@ -82,40 +85,44 @@
return 80;
} else if (element instanceof IUsing) {
return 90;
- } else if (element instanceof IFunctionDeclaration) {
+ } else if (element instanceof IFunctionDeclaration && ! (element instanceof IFunction)) {
return 100;
- } else if (element instanceof IVariableDeclaration) {
+ } else if (element instanceof IMethodDeclaration && !(element instanceof IMethod)) {
return 110;
+ } else if (element instanceof IVariableDeclaration) {
+ return 120;
} else if (element instanceof IVariable) {
String name = ((ICElement)element).getElementName();
if (name.startsWith("__")) {
- return 112;
+ return 122;
}
if (name.charAt(0) == '_') {
- return 114;
+ return 124;
}
- return 120;
+ return 130;
} else if (element instanceof IFunction) {
String name = ((ICElement)element).getElementName();
if (name.startsWith("__")) {
- return 122;
+ return 132;
}
if (name.charAt(0) == '_') {
- return 124;
+ return 134;
}
- return 130;
+ return 140;
} else if (element instanceof ICElement) {
String name = ((ICElement)element).getElementName();
if (name.startsWith("__")) {
- return 132;
+ return 142;
}
if (name.charAt(0) == '_') {
- return 134;
+ return 144;
}
- return 140;
- } else if (element instanceof IArchive) {
return 150;
+ } else if (element instanceof IArchive) {
+ return 160;
+ } else if (element instanceof IBinary) {
+ return 170;
}
- return 80;
+ return 200;
}
}
Index: src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java,v
retrieving revision 1.9
diff -u -r1.9 CDocumentProvider.java
--- src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java 19 Mar 2003 20:21:08 -0000 1.9
+++ src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java 27 Mar 2003 16:09:38 -0000
@@ -11,9 +11,9 @@
import org.eclipse.cdt.core.model.CModelException;
import org.eclipse.cdt.core.model.CoreModel;
-import org.eclipse.cdt.core.model.ICOpenable;
+import org.eclipse.cdt.core.model.IBuffer;
+import org.eclipse.cdt.core.model.IOpenable;
import org.eclipse.cdt.core.model.ITranslationUnit;
-import org.eclipse.cdt.internal.core.model.IBuffer;
import org.eclipse.cdt.internal.core.model.IBufferFactory;
import org.eclipse.cdt.internal.core.model.IWorkingCopy;
import org.eclipse.cdt.internal.ui.CStatusConstants;
@@ -111,7 +111,7 @@
return CDocumentProvider.this.createDocument(input);
}
- public IBuffer createBuffer(ICOpenable owner) {
+ public IBuffer createBuffer(IOpenable owner) {
try {
if (owner instanceof IWorkingCopy) {
Index: src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java,v
retrieving revision 1.1
diff -u -r1.1 DocumentAdapter.java
--- src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java 19 Mar 2003 20:21:08 -0000 1.1
+++ src/org/eclipse/cdt/internal/ui/editor/DocumentAdapter.java 27 Mar 2003 16:09:39 -0000
@@ -16,11 +16,11 @@
import java.util.Iterator;
import java.util.List;
+import org.eclipse.cdt.core.model.BufferChangedEvent;
import org.eclipse.cdt.core.model.CModelException;
-import org.eclipse.cdt.core.model.ICOpenable;
-import org.eclipse.cdt.internal.core.model.BufferChangedEvent;
-import org.eclipse.cdt.internal.core.model.IBuffer;
-import org.eclipse.cdt.internal.core.model.IBufferChangedListener;
+import org.eclipse.cdt.core.model.IBuffer;
+import org.eclipse.cdt.core.model.IBufferChangedListener;
+import org.eclipse.cdt.core.model.IOpenable;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -74,7 +74,7 @@
return 0;
}
- public ICOpenable getOwner() {
+ public IOpenable getOwner() {
return null;
}
@@ -163,7 +163,7 @@
}
};
- private ICOpenable fOwner;
+ private IOpenable fOwner;
private IDocument fDocument;
private DocumentSetCommand fSetCmd= new DocumentSetCommand();
private DocumentReplaceCommand fReplaceCmd= new DocumentReplaceCommand();
@@ -178,7 +178,7 @@
private IStatus fStatus;
- public DocumentAdapter(ICOpenable owner, IDocument document, ILineTracker lineTracker, CDocumentProvider provider, Object providerKey) {
+ public DocumentAdapter(IOpenable owner, IDocument document, ILineTracker lineTracker, CDocumentProvider provider, Object providerKey) {
Assert.isNotNull(document);
Assert.isNotNull(lineTracker);
@@ -352,8 +352,8 @@
/**
* @see org.eclipse.cdt.internal.core.model.IBuffer#getOwner()
*/
- public ICOpenable getOwner() {
- return (ICOpenable) fOwner;
+ public IOpenable getOwner() {
+ return (IOpenable) fOwner;
}
/**
Index: src/org/eclipse/cdt/internal/ui/util/EditorUtility.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/EditorUtility.java,v
retrieving revision 1.4
diff -u -r1.4 EditorUtility.java
--- src/org/eclipse/cdt/internal/ui/util/EditorUtility.java 4 Feb 2003 20:00:45 -0000 1.4
+++ src/org/eclipse/cdt/internal/ui/util/EditorUtility.java 27 Mar 2003 16:09:41 -0000
@@ -124,7 +124,11 @@
IStorage store = null;
Process objdump = null;
IPath path;
- IFile file = bin.getFile();
+ IResource file = null;
+ try {
+ file = bin.getResource();
+ } catch (CModelException e1) {
+ }
if (file == null)
return store;
path = file.getLocation();
Index: src/org/eclipse/cdt/ui/CElementContentProvider.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CElementContentProvider.java,v
retrieving revision 1.2
diff -u -r1.2 CElementContentProvider.java
--- src/org/eclipse/cdt/ui/CElementContentProvider.java 24 Feb 2003 16:39:53 -0000 1.2
+++ src/org/eclipse/cdt/ui/CElementContentProvider.java 27 Mar 2003 16:09:42 -0000
@@ -13,15 +13,13 @@
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.ICModel;
import org.eclipse.cdt.core.model.ICProject;
-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.core.model.ITranslationUnit;
import org.eclipse.cdt.internal.ui.BaseCElementContentProvider;
import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.Viewer;
@@ -50,7 +48,7 @@
fViewer = (StructuredViewer)viewer;
if (oldInput == null && newInput != null) {
- if (newInput instanceof ICRoot)
+ if (newInput instanceof ICModel)
CoreModel.getDefault().addElementChangedListener(this);
} else if (oldInput != null && newInput == null) {
CoreModel.getDefault().removeElementChangedListener(this);
@@ -103,22 +101,16 @@
if (kind == ICElementDelta.REMOVED) {
Object parent = getParent(element);
postRemove(element);
- if (element instanceof ICFile) {
- ICFile cfile = (ICFile)element;
- if (updateContainer(cfile)) {
- postRefresh(parent);
- }
+ if (updateContainer(element)) {
+ postRefresh(parent);
}
}
if (kind == ICElementDelta.ADDED) {
Object parent= getParent(element);
postAdd(parent, element);
- if (element instanceof ICFile) {
- ICFile cfile = (ICFile)element;
- if (updateContainer(cfile)) {
- postRefresh(parent);
- }
+ if (updateContainer(element)) {
+ postRefresh(parent);
}
}
@@ -141,50 +133,50 @@
}
// Make sure that containers are updated.
- //if (element instanceof ICRoot) {
- // updateContainer((ICRoot)element);
+ //if (element instanceof ICModel) {
+ // updateContainer((ICModel)element);
//}
}
- private void updateContainer(ICRoot root) {
- postRunnable(new Runnable() {
- public void run () {
- Control ctrl= fViewer.getControl();
- if (ctrl != null && !ctrl.isDisposed()) {
- IStructuredSelection s = (IStructuredSelection)fViewer.getSelection();
- if (s.isEmpty())
- return;
- Object element = s.getFirstElement();
- if (element instanceof ICProject) {
- updateContainer((ICProject)element);
- }
- }
- }
- });
- }
-
- protected boolean updateContainer(ICProject cproject) {
- IParent binContainer = cproject.getBinaryContainer();
- IParent libContainer = cproject.getArchiveContainer();
- if (binContainer != null) {
- postContainerRefresh(binContainer, cproject);
- }
- if (libContainer != null) {
- postContainerRefresh(libContainer, cproject);
- }
- return false;
- }
+// private void updateContainer(ICModel root) {
+// postRunnable(new Runnable() {
+// public void run () {
+// Control ctrl= fViewer.getControl();
+// if (ctrl != null && !ctrl.isDisposed()) {
+// IStructuredSelection s = (IStructuredSelection)fViewer.getSelection();
+// if (s.isEmpty())
+// return;
+// Object element = s.getFirstElement();
+// if (element instanceof ICProject) {
+// updateContainer((ICProject)element);
+// }
+// }
+// }
+// });
+// }
+
+// protected boolean updateContainer(ICProject cproject) {
+// IParent binContainer = cproject.getBinaryContainer();
+// IParent libContainer = cproject.getArchiveContainer();
+// if (binContainer != null) {
+// postContainerRefresh(binContainer, cproject);
+// }
+// if (libContainer != null) {
+// postContainerRefresh(libContainer, cproject);
+// }
+// return false;
+// }
- private boolean updateContainer(ICFile cfile) {
+ private boolean updateContainer(ICElement cfile) {
IParent container = null;
ICProject cproject = null;
- if (cfile.isBinary()) {
+ if (cfile instanceof IBinary) {
IBinary bin = (IBinary)cfile;
if (bin.isExecutable() || bin.isSharedLib()) {
cproject = bin.getCProject();
container = cproject.getBinaryContainer();
}
- } else if (cfile.isArchive()) {
+ } else if (cfile instanceof IArchive) {
cproject = cfile.getCProject();
container = cproject.getArchiveContainer();
}
Index: src/org/eclipse/cdt/ui/CElementLabelProvider.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CElementLabelProvider.java,v
retrieving revision 1.3
diff -u -r1.3 CElementLabelProvider.java
--- src/org/eclipse/cdt/ui/CElementLabelProvider.java 26 Mar 2003 16:02:58 -0000 1.3
+++ src/org/eclipse/cdt/ui/CElementLabelProvider.java 27 Mar 2003 16:09:42 -0000
@@ -7,7 +7,6 @@
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.IFunctionDeclaration;
import org.eclipse.cdt.core.model.IVariable;
import org.eclipse.cdt.core.model.IVariableDeclaration;
@@ -109,11 +108,7 @@
return result;
}
}
- if(element instanceof ICFile) {
- //element = ((ICFile)element).getFile();
- }
return fWorkbenchLabelProvider.getImage(element);
-
}
/**
Index: src/org/eclipse/cdt/ui/CUIPlugin.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CUIPlugin.java,v
retrieving revision 1.7
diff -u -r1.7 CUIPlugin.java
--- src/org/eclipse/cdt/ui/CUIPlugin.java 19 Mar 2003 20:21:29 -0000 1.7
+++ src/org/eclipse/cdt/ui/CUIPlugin.java 27 Mar 2003 16:09:43 -0000
@@ -145,7 +145,7 @@
/**
* Returns the used document provider
*/
- public CDocumentProvider getDocumentProvider() {
+ public synchronized CDocumentProvider getDocumentProvider() {
if (fDocumentProvider == null) {
fDocumentProvider = new CDocumentProvider();
}
@@ -156,7 +156,7 @@
* Returns the working copy manager
* @return IWorkingCopyManager
*/
- public synchronized IWorkingCopyManager getWorkingCopyManager() {
+ public IWorkingCopyManager getWorkingCopyManager() {
return getDocumentProvider();
}