Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVivian Kong2011-04-21 16:15:38 -0400
committerVivian Kong2011-04-21 16:15:38 -0400
commit60e7c6cda07788b28d400fa5efccc7ceea815f96 (patch)
tree1d583a533c8b75aecca6b9d270300e1bc6ff2611 /build/org.eclipse.cdt.managedbuilder.ui
parentff9885b6e4dbd8644e06fd5662412da7e2a13a94 (diff)
downloadorg.eclipse.cdt-60e7c6cda07788b28d400fa5efccc7ceea815f96.tar.gz
org.eclipse.cdt-60e7c6cda07788b28d400fa5efccc7ceea815f96.tar.xz
org.eclipse.cdt-60e7c6cda07788b28d400fa5efccc7ceea815f96.zip
Bug 133881 - Make refreshing after building optional
Work in progress.
Diffstat (limited to 'build/org.eclipse.cdt.managedbuilder.ui')
-rw-r--r--build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/RefreshPolicyTab.java37
1 files changed, 26 insertions, 11 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/RefreshPolicyTab.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/RefreshPolicyTab.java
index a7f91731a4..81205c2a1f 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/RefreshPolicyTab.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/RefreshPolicyTab.java
@@ -299,7 +299,7 @@ public class RefreshPolicyTab extends AbstractCPropertyTab {
parent.exclusion.removeExclusionInstance(instance);
parent.exclusion_instances.remove(this);
- if (parent.exclusion_instances.size() < 1 && parent.exceptions_node == null) {
+ if (parent.exclusion_instances.size() < 1) {
parent.remove();
}
}
@@ -406,6 +406,7 @@ public class RefreshPolicyTab extends AbstractCPropertyTab {
});
fTree.setInput(fSrc);
+ fTree.expandAll();
updateButtons();
}
@@ -492,6 +493,7 @@ public class RefreshPolicyTab extends AbstractCPropertyTab {
fSrc.add(newResource);
}
fTree.refresh();
+ fTree.expandAll();
}
break;
@@ -507,12 +509,14 @@ public class RefreshPolicyTab extends AbstractCPropertyTab {
}
if (addExceptionDialog.open() == Window.OK) {
RefreshExclusion newExclusion = addExceptionDialog.getResult();
-
- //update tree & the working copy of the model elements in this tab
- sel.addException(newExclusion);
+ if (newExclusion != null)
+ //update tree & the working copy of the model elements in this tab
+ sel.addException(newExclusion);
fTree.refresh();
+ fTree.expandAll();
}
fTree.refresh();
+ fTree.expandAll();
break;
case IDX_EDIT: //can only edit a refresh exclusion
@@ -528,8 +532,10 @@ public class RefreshPolicyTab extends AbstractCPropertyTab {
//update tree
selectedExclusion.updateException(updatedExclusion);
fTree.refresh();
+ fTree.expandAll();
}
fTree.refresh();
+ fTree.expandAll();
break;
case IDX_DELETE:
@@ -543,8 +549,7 @@ public class RefreshPolicyTab extends AbstractCPropertyTab {
if (sel1.isExclusion()) {
question = Messages.RefreshPolicyTab_deleteConfirmationDialog_question_exception;
} else {
- question = Messages.RefreshPolicyTab_deleteConfirmationDialog_question_resource;
-
+ question = Messages.RefreshPolicyTab_deleteConfirmationDialog_question_resource;
}
if (MessageDialog.openQuestion(shell, Messages.RefreshPolicyTab_deleteConfirmationDialog_title, question)) {
remove = true;
@@ -556,15 +561,25 @@ public class RefreshPolicyTab extends AbstractCPropertyTab {
//update tree & the working copy of the model elements in this tab
sel1.remove();
fTree.refresh();
+ fTree.expandAll();
}
} else { //exclusion instance
_Exclusion_Instance sel1 = (_Exclusion_Instance) selection.getFirstElement();
-
- //update tree & the working copy of the model elements in this tab
- sel1.remove();
- fTree.refresh();
+ boolean remove = false;
+ if (sel1.parent.exclusion_instances.size() == 1 && sel1.parent.exceptions_node != null) {
+ //this is the only exclusion instance for an exclusion and the exclusion has nested exclusions
+ if (MessageDialog.openQuestion(shell, Messages.RefreshPolicyTab_deleteConfirmationDialog_title, Messages.RefreshPolicyTab_deleteConfirmationDialog_question_exception)) {
+ remove = true;
+ }
+ } else
+ remove = true;
+ if (remove) {
+ //update tree & the working copy of the model elements in this tab
+ sel1.remove();
+ fTree.refresh();
+ fTree.expandAll();
+ }
}
-
break;
default:

Back to the top