diff options
author | Anton Tanasenko | 2014-10-06 11:46:11 +0000 |
---|---|---|
committer | Anton Tanasenko | 2014-10-06 11:46:11 +0000 |
commit | e898ee36879abd11d7ac80aeae9abad92590d7e3 (patch) | |
tree | 7d2d788e5dfd3f113dc09bb123262aa96005e6bd /org.eclipse.m2e.editor | |
parent | 1566ba362d1e5371afdc5075fe9ead85015086f4 (diff) | |
download | m2e-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.java | 40 |
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) { |