Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Tanasenko2014-10-06 11:46:11 +0000
committerAnton Tanasenko2014-10-06 11:46:11 +0000
commite898ee36879abd11d7ac80aeae9abad92590d7e3 (patch)
tree7d2d788e5dfd3f113dc09bb123262aa96005e6bd /org.eclipse.m2e.editor
parent1566ba362d1e5371afdc5075fe9ead85015086f4 (diff)
downloadm2e-core-e898ee36879abd11d7ac80aeae9abad92590d7e3.tar.gz
m2e-core-e898ee36879abd11d7ac80aeae9abad92590d7e3.tar.xz
m2e-core-e898ee36879abd11d7ac80aeae9abad92590d7e3.zip
446038 Dependency hierarchy page performance
Change-Id: Ica71c7e0b62799ee0772d8e0bce93d664deb5e69 Signed-off-by: Anton Tanasenko <atg.sleepless@gmail.com>
Diffstat (limited to 'org.eclipse.m2e.editor')
-rw-r--r--org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/DependencyTreePage.java40
1 files changed, 33 insertions, 7 deletions
diff --git a/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/DependencyTreePage.java b/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/DependencyTreePage.java
index fff7c689..12216488 100644
--- a/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/DependencyTreePage.java
+++ b/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/DependencyTreePage.java
@@ -241,8 +241,14 @@ public class DependencyTreePage extends FormPage implements IMavenProjectChanged
if(treeViewer.getTree().isDisposed()) {
return;
}
+
treeViewer.setInput(dependencyNode);
- treeViewer.expandAll();
+ treeViewer.getTree().setRedraw(false);
+ try {
+ treeViewer.expandAll();
+ } finally {
+ treeViewer.getTree().setRedraw(true);
+ }
if(listViewer.getTable().isDisposed()) {
return;
}
@@ -321,13 +327,23 @@ public class DependencyTreePage extends FormPage implements IMavenProjectChanged
hiearchyToolBarManager.add(new Action(Messages.DependencyTreePage_action_collapseAll,
MavenEditorImages.COLLAPSE_ALL) {
public void run() {
- treeViewer.collapseAll();
+ treeViewer.getTree().setRedraw(false);
+ try {
+ treeViewer.collapseAll();
+ } finally {
+ treeViewer.getTree().setRedraw(true);
+ }
}
});
hiearchyToolBarManager.add(new Action(Messages.DependencyTreePage_action_expandAll, MavenEditorImages.EXPAND_ALL) {
public void run() {
- treeViewer.expandAll();
+ treeViewer.getTree().setRedraw(false);
+ try {
+ treeViewer.expandAll();
+ } finally {
+ treeViewer.getTree().setRedraw(true);
+ }
}
});
@@ -371,8 +387,13 @@ public class DependencyTreePage extends FormPage implements IMavenProjectChanged
} else {
treeViewer.removeFilter(searchFilter);
}
- treeViewer.refresh();
- treeViewer.expandAll();
+ treeViewer.getTree().setRedraw(false);
+ try {
+ treeViewer.refresh();
+ treeViewer.expandAll();
+ } finally {
+ treeViewer.getTree().setRedraw(true);
+ }
}
};
hierarchyFilterAction.setChecked(true);
@@ -608,8 +629,13 @@ public class DependencyTreePage extends FormPage implements IMavenProjectChanged
void selectTreeElements(Matcher matcher) {
DependencyTreeLabelProvider treeLabelProvider = (DependencyTreeLabelProvider) treeViewer.getLabelProvider();
treeLabelProvider.setMatcher(matcher);
- treeViewer.refresh();
- treeViewer.expandAll();
+ treeViewer.getTree().setRedraw(false);
+ try {
+ treeViewer.refresh();
+ treeViewer.expandAll();
+ } finally {
+ treeViewer.getTree().setRedraw(true);
+ }
if(!matcher.isEmpty()) {
for(DependencyNode node : dependencyNodes) {

Back to the top