1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-13 19:25:38 +02:00

fixed bug# 52490

This commit is contained in:
David Inglis 2004-02-19 19:46:46 +00:00
parent cde4b34929
commit a0d5e302cb
2 changed files with 20 additions and 18 deletions

View file

@ -74,8 +74,8 @@ public class MakeTargetManager implements IMakeTargetManager, IResourceChangeLis
if (projectTargets == null) { if (projectTargets == null) {
projectTargets = readTargets(project); projectTargets = readTargets(project);
} }
((MakeTarget)target).setContainer(container); ((MakeTarget) target).setContainer(container);
projectTargets.add((MakeTarget)target); projectTargets.add((MakeTarget) target);
writeTargets(projectTargets); writeTargets(projectTargets);
notifyListeners(new MakeTargetEvent(this, MakeTargetEvent.TARGET_ADD, target)); notifyListeners(new MakeTargetEvent(this, MakeTargetEvent.TARGET_ADD, target));
} }
@ -86,9 +86,10 @@ public class MakeTargetManager implements IMakeTargetManager, IResourceChangeLis
if (projectTargets == null) { if (projectTargets == null) {
projectTargets = readTargets(project); projectTargets = readTargets(project);
} }
projectTargets.remove(target); if (projectTargets.remove(target)) {
writeTargets(projectTargets); writeTargets(projectTargets);
notifyListeners(new MakeTargetEvent(this, MakeTargetEvent.TARGET_REMOVED, target)); notifyListeners(new MakeTargetEvent(this, MakeTargetEvent.TARGET_REMOVED, target));
}
} }
public void renameTarget(IMakeTarget target, String name) throws CoreException { public void renameTarget(IMakeTarget target, String name) throws CoreException {
@ -203,7 +204,7 @@ public class MakeTargetManager implements IMakeTargetManager, IResourceChangeLis
int flags = delta.getFlags(); int flags = delta.getFlags();
int deltaKind = delta.getKind(); int deltaKind = delta.getKind();
if (deltaKind == IResourceDelta.ADDED) { if (deltaKind == IResourceDelta.ADDED) {
if (hasTargetBuilder(project)) { if (hasTargetBuilder(project) && !fProjects.contains(project)) {
fProjects.add(project); fProjects.add(project);
notifyListeners(new MakeTargetEvent(MakeTargetManager.this, MakeTargetEvent.PROJECT_ADDED, project)); notifyListeners(new MakeTargetEvent(MakeTargetManager.this, MakeTargetEvent.PROJECT_ADDED, project));
} }

View file

@ -131,19 +131,19 @@ public class ProjectTargets {
} }
public IMakeTarget[] get(IContainer container) { public IMakeTarget[] get(IContainer container) {
ArrayList list = (ArrayList)targetMap.get(container); ArrayList list = (ArrayList) targetMap.get(container);
if (list != null) { if (list != null) {
return (IMakeTarget[])list.toArray(new IMakeTarget[list.size()]); return (IMakeTarget[]) list.toArray(new IMakeTarget[list.size()]);
} }
return new IMakeTarget[0]; return new IMakeTarget[0];
} }
public IMakeTarget findTarget(IContainer container, String name) { public IMakeTarget findTarget(IContainer container, String name) {
ArrayList list = (ArrayList)targetMap.get(container); ArrayList list = (ArrayList) targetMap.get(container);
if (list != null) { if (list != null) {
Iterator targets = list.iterator(); Iterator targets = list.iterator();
while (targets.hasNext()) { while (targets.hasNext()) {
IMakeTarget target = (IMakeTarget)targets.next(); IMakeTarget target = (IMakeTarget) targets.next();
if (target.getName().equals(name)) { if (target.getName().equals(name)) {
return target; return target;
} }
@ -153,7 +153,7 @@ public class ProjectTargets {
} }
public void add(MakeTarget target) throws CoreException { public void add(MakeTarget target) throws CoreException {
ArrayList list = (ArrayList)targetMap.get(target.getContainer()); ArrayList list = (ArrayList) targetMap.get(target.getContainer());
if (list != null && list.contains(target)) { if (list != null && list.contains(target)) {
throw new CoreException(new Status(IStatus.ERROR, MakeCorePlugin.getUniqueIdentifier(), -1, MakeCorePlugin.getResourceString("MakeTargetManager.target_exists"), null)); //$NON-NLS-1$ throw new CoreException(new Status(IStatus.ERROR, MakeCorePlugin.getUniqueIdentifier(), -1, MakeCorePlugin.getResourceString("MakeTargetManager.target_exists"), null)); //$NON-NLS-1$
} }
@ -165,22 +165,23 @@ public class ProjectTargets {
} }
public boolean contains(MakeTarget target) { public boolean contains(MakeTarget target) {
ArrayList list = (ArrayList)targetMap.get(target.getContainer()); ArrayList list = (ArrayList) targetMap.get(target.getContainer());
if (list != null && list.contains(target)) { if (list != null && list.contains(target)) {
return true; return true;
} }
return false; return false;
} }
public void remove(IMakeTarget target) { public boolean remove(IMakeTarget target) {
ArrayList list = (ArrayList)targetMap.get(target.getContainer()); ArrayList list = (ArrayList) targetMap.get(target.getContainer());
if (list == null || !list.contains(target)) { if (list == null || !list.contains(target)) {
return; return false;
} }
list.remove(target); boolean found = list.remove(target);
if (list.size() == 0) { if (list.size() == 0) {
targetMap.remove(list); targetMap.remove(list);
} }
return found;
} }
public IProject getProject() { public IProject getProject() {
@ -193,9 +194,9 @@ public class ProjectTargets {
doc.appendChild(targetsRootElement); doc.appendChild(targetsRootElement);
Iterator container = targetMap.entrySet().iterator(); Iterator container = targetMap.entrySet().iterator();
while (container.hasNext()) { while (container.hasNext()) {
List targets = (List) ((Map.Entry)container.next()).getValue(); List targets = (List) ((Map.Entry) container.next()).getValue();
for (int i = 0; i < targets.size(); i++) { for (int i = 0; i < targets.size(); i++) {
MakeTarget target = (MakeTarget)targets.get(i); MakeTarget target = (MakeTarget) targets.get(i);
targetsRootElement.appendChild(createTargetElement(doc, target)); targetsRootElement.appendChild(createTargetElement(doc, target));
} }
} }