1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Added Properties for Binaries

This commit is contained in:
Alain Magloire 2004-04-16 04:21:17 +00:00
parent 3a4bc9b140
commit 3dc5e212e0
5 changed files with 38 additions and 104 deletions

View file

@ -1,3 +1,13 @@
2004-04-15 Alain Magloire
Added Properties for the Binaries.
* src/org/eclipse/cdt/internal/ui/BinaryProjectSource.java
* src/org/eclipse/cdt/internal/ui/CElementAdapterFactory.java
* src/org/eclipse/cdt/internla/ui/CElementPropertySource.java
removed unused files
* src/org/eclipse/cdt/internal/ui/CElementProperties.java
2004-04-15 Hoda Amer 2004-04-15 Hoda Amer
Fix for bug#58566 : [Refactoring] renaming #define statements Fix for bug#58566 : [Refactoring] renaming #define statements
Fix for bug#58335 : [Content Assist] Class forward declarations not reported Fix for bug#58335 : [Content Assist] Class forward declarations not reported

View file

@ -7,12 +7,14 @@ package org.eclipse.cdt.internal.ui;
import org.eclipse.cdt.core.model.IBinary; import org.eclipse.cdt.core.model.IBinary;
import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.core.resources.IFile;
import org.eclipse.jface.viewers.IBasicPropertyConstants; import org.eclipse.jface.viewers.IBasicPropertyConstants;
import org.eclipse.ui.views.properties.FilePropertySource;
import org.eclipse.ui.views.properties.IPropertyDescriptor; import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.IPropertySource; import org.eclipse.ui.views.properties.IPropertySource;
import org.eclipse.ui.views.properties.PropertyDescriptor; import org.eclipse.ui.views.properties.PropertyDescriptor;
public class BinaryPropertySource implements IPropertySource { public class BinaryPropertySource extends FilePropertySource implements IPropertySource {
private final static String ELF_CPU= "CElementProperties.elf_cpu"; //$NON-NLS-1$ private final static String ELF_CPU= "CElementProperties.elf_cpu"; //$NON-NLS-1$
private final static String ELF_TEXT= "CElementProperties.elf_text"; //$NON-NLS-1$ private final static String ELF_TEXT= "CElementProperties.elf_text"; //$NON-NLS-1$
@ -78,6 +80,7 @@ public class BinaryPropertySource implements IPropertySource {
} }
public BinaryPropertySource(IBinary bin) { public BinaryPropertySource(IBinary bin) {
super((IFile)bin.getResource());
binary= bin; binary= bin;
} }
@ -85,8 +88,9 @@ public class BinaryPropertySource implements IPropertySource {
* @see IPropertySource#getPropertyDescriptors * @see IPropertySource#getPropertyDescriptors
*/ */
public IPropertyDescriptor[] getPropertyDescriptors() { public IPropertyDescriptor[] getPropertyDescriptors() {
if (fgPropertyDescriptors == null) if (fgPropertyDescriptors == null) {
initializeBinaryDescriptors(); initializeBinaryDescriptors();
}
return fgPropertyDescriptors; return fgPropertyDescriptors;
} }
@ -94,12 +98,12 @@ public class BinaryPropertySource implements IPropertySource {
* @see IPropertySource#getPropertyValue * @see IPropertySource#getPropertyValue
*/ */
public Object getPropertyValue(Object name) { public Object getPropertyValue(Object name) {
// if (element != null) { if (element != null) {
// Object returnValue = super.getPropertyValue(name); Object returnValue = super.getPropertyValue(name);
// if(returnValue != null) {
// if(returnValue != null) return returnValue;
// return returnValue; }
// } }
if (name.equals(IBasicPropertyConstants.P_TEXT)) { if (name.equals(IBasicPropertyConstants.P_TEXT)) {
return binary.getElementName(); return binary.getElementName();
} else if (name.equals(ICElementPropertyConstants.P_ELF_CPU)) { } else if (name.equals(ICElementPropertyConstants.P_ELF_CPU)) {
@ -143,14 +147,17 @@ public class BinaryPropertySource implements IPropertySource {
* Return the Property Descriptors for the file type. * Return the Property Descriptors for the file type.
*/ */
private void initializeBinaryDescriptors() { private void initializeBinaryDescriptors() {
// IPropertyDescriptor[] superDescriptors = super.getPropertyDescriptors(); if (element != null) {
// int superLength = superDescriptors.length; IPropertyDescriptor[] superDescriptors = super.getPropertyDescriptors();
// IPropertyDescriptor[] binDescriptors = getInitialPropertyDescriptor(); int superLength = superDescriptors.length;
// int binLength = binDescriptors.length; IPropertyDescriptor[] binDescriptors = getInitialPropertyDescriptor();
// fgPropertyDescriptors = new IPropertyDescriptor[superLength + binLength]; int binLength = binDescriptors.length;
// System.arraycopy(superDescriptors, 0, fgPropertyDescriptors, 0, superLength); fgPropertyDescriptors = new IPropertyDescriptor[superLength + binLength];
// System.arraycopy(binDescriptors, 0, fgPropertyDescriptors, superLength, binLength); System.arraycopy(superDescriptors, 0, fgPropertyDescriptors, 0, superLength);
fgPropertyDescriptors = getInitialPropertyDescriptor(); System.arraycopy(binDescriptors, 0, fgPropertyDescriptors, superLength, binLength);
} else {
fgPropertyDescriptors = getInitialPropertyDescriptor();
}
} }
/* (non-Javadoc) /* (non-Javadoc)

View file

@ -49,14 +49,12 @@ public class CElementAdapterFactory implements IAdapterFactory {
if (IPropertySource.class.equals(key)) { if (IPropertySource.class.equals(key)) {
if (celem instanceof IBinary) { if (celem instanceof IBinary) {
return new BinaryPropertySource((IBinary)celem); 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 { } else {
res = celem.getResource(); res = celem.getResource();
if (res != null) { if (res != null) {
if (res instanceof IFile) {
return new FilePropertySource((IFile)res);
}
return new ResourcePropertySource(res); return new ResourcePropertySource(res);
} }
} }

View file

@ -1,80 +0,0 @@
package org.eclipse.cdt.internal.ui;
/*
* (c) Copyright IBM Corp. 2000, 2001.
* All Rights Reserved.
*/
import org.eclipse.jface.viewers.IBasicPropertyConstants;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.IPropertySource;
import org.eclipse.ui.views.properties.PropertyDescriptor;
import org.eclipse.cdt.core.model.ICElement;
import org.eclipse.cdt.ui.*;
public class CElementProperties implements IPropertySource {
private final static String LABEL= "CElementProperties.name"; //$NON-NLS-1$
private ICElement fCElement;
// Property Descriptors
static private IPropertyDescriptor[] fgPropertyDescriptors;
static {
// resource name
String displayName= CUIPlugin.getResourceString(LABEL);
PropertyDescriptor descriptor= new PropertyDescriptor(IBasicPropertyConstants.P_TEXT, displayName);
descriptor.setAlwaysIncompatible(true);
fgPropertyDescriptors= new IPropertyDescriptor[] { descriptor };
}
public CElementProperties(ICElement elem) {
fCElement= elem;
}
/**
* @see IPropertySource#getPropertyDescriptors
*/
public IPropertyDescriptor[] getPropertyDescriptors() {
return fgPropertyDescriptors;
}
/**
* @see IPropertySource#getPropertyValue
*/
public Object getPropertyValue(Object name) {
if (name.equals(IBasicPropertyConstants.P_TEXT)) {
return fCElement.getElementName();
}
return null;
}
/**
* @see IPropertySource#setPropertyValue
*/
public void setPropertyValue(Object name, Object value) {
}
/**
* @see IPropertySource#getEditableValue
*/
public Object getEditableValue() {
return null;
}
/**
* @see IPropertySource#isPropertySet
*/
public boolean isPropertySet(Object property) {
return false;
}
/**
* @see IPropertySource#resetPropertyValue
*/
public void resetPropertyValue(Object property) {
}
}

View file

@ -5,14 +5,13 @@ package org.eclipse.cdt.internal.ui;
* All Rights Reserved. * All Rights Reserved.
*/ */
import org.eclipse.cdt.core.model.ICElement;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.jface.viewers.IBasicPropertyConstants; import org.eclipse.jface.viewers.IBasicPropertyConstants;
import org.eclipse.ui.views.properties.IPropertyDescriptor; import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.IPropertySource; import org.eclipse.ui.views.properties.IPropertySource;
import org.eclipse.ui.views.properties.PropertyDescriptor; import org.eclipse.ui.views.properties.PropertyDescriptor;
import org.eclipse.cdt.core.model.ICElement;
import org.eclipse.cdt.ui.*;
public class CElementPropertySource implements IPropertySource { public class CElementPropertySource implements IPropertySource {
private final static String LABEL= "CElementProperties.name"; //$NON-NLS-1$ private final static String LABEL= "CElementProperties.name"; //$NON-NLS-1$