diff options
author | Siva Velusamy <vsiva@google.com> | 2012-02-13 13:56:22 -0800 |
---|---|---|
committer | Siva Velusamy <vsiva@google.com> | 2012-02-13 16:12:05 -0800 |
commit | 85189359226db1d5774447da6588abe60089765a (patch) | |
tree | ce79750cbaae1b8b970f80b52a8255d0a4bd7988 /eclipse | |
parent | ffc211c883784d07c3a9ff0683364f0e454502ec (diff) | |
download | sdk-85189359226db1d5774447da6588abe60089765a.zip sdk-85189359226db1d5774447da6588abe60089765a.tar.gz sdk-85189359226db1d5774447da6588abe60089765a.tar.bz2 |
gltrace: fix search for tree view
When using a tree widget, the ViewerFilter#select method should
search not just the given node, but also all its children if the
node is a tree node.
Change-Id: I2ff9896067e75521f5d654d27b8b2a5787410d56
Diffstat (limited to 'eclipse')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/editors/GLFunctionTraceViewer.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/editors/GLFunctionTraceViewer.java b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/editors/GLFunctionTraceViewer.java index 5bd0af0..debd086 100644 --- a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/editors/GLFunctionTraceViewer.java +++ b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/editors/GLFunctionTraceViewer.java @@ -564,8 +564,7 @@ public class GLFunctionTraceViewer extends EditorPart implements ISelectionProvi return true; } - GLCall call = ((GLCallNode) element).getCall(); - String text = call.getFunction().toString(); + String text = getTextUnderNode((GLCallNode) element); if (mPatterns.size() == 0) { // match if there are no regex filters @@ -582,6 +581,23 @@ public class GLFunctionTraceViewer extends EditorPart implements ISelectionProvi return false; } + + /** Obtain a string representation of all functions under a given tree node. */ + private String getTextUnderNode(GLCallNode element) { + String func = element.getCall().getFunction().toString(); + if (!element.hasChildren()) { + return func; + } + + StringBuilder sb = new StringBuilder(100); + sb.append(func); + + for (GLCallNode child : element.getChildren()) { + sb.append(getTextUnderNode(child)); + } + + return sb.toString(); + } } @Override |