sort variables in watch view alphabetically
authorbananeweizen <bananeweizen>
Sun, 22 Jan 2006 20:30:07 +0000 (20:30 +0000)
committerbananeweizen <bananeweizen>
Sun, 22 Jan 2006 20:30:07 +0000 (20:30 +0000)
net.sourceforge.phpeclipse.debug.core/src/net/sourceforge/phpdt/internal/debug/core/model/PHPStackFrame.java
net.sourceforge.phpeclipse.debug.core/src/net/sourceforge/phpdt/internal/debug/core/model/PHPVariableComparator.java [new file with mode: 0644]

index bbebc6a..1c5dcdd 100644 (file)
@@ -6,11 +6,12 @@ which accompanies this distribution, and is available at
 http://www.eclipse.org/legal/cpl-v10.html
 
 Contributors:
-    IBM Corporation - Initial implementation
-    Vicente Fernando - www.alfersoft.com.ar
+       IBM Corporation - Initial implementation
+       Vicente Fernando - www.alfersoft.com.ar
 **********************************************************************/
 package net.sourceforge.phpdt.internal.debug.core.model;
 
+import java.util.Arrays;
 import java.util.Vector;
 
 import net.sourceforge.phpdt.internal.debug.core.PHPDBGProxy;
@@ -215,9 +216,9 @@ public class PHPStackFrame extends PHPDebugElement implements IStackFrame, Compa
 
                                        try {
                                                if (valOld.hasVariables () ||                           // If the 'static' value has child variables
-                                                   valNew.hasVariables ()) {                           //  or if the DBG value has child variables
+                                                       valNew.hasVariables ()) {                               //  or if the DBG value has child variables
                                                        if (!hasRecursion (varOld) &&
-                                                           !hasRecursion (varNew)) {                   // Both branches should not have a recursion
+                                                               !hasRecursion (varNew)) {                       // Both branches should not have a recursion
                                                                updateVariableList (valOld.getChildVariables (),        // Update the variable list for the child variables
                                                                                                        valNew.getChildVariables ());
                                                        }
@@ -285,10 +286,11 @@ public class PHPStackFrame extends PHPDebugElement implements IStackFrame, Compa
 
                if (!isUpToDate ()) {
                        resetHasChangedInfo (varList);
-               updateVariableList (varList, this.getPHPDBGProxy ().readVariables (this));
+                       updateVariableList (varList, this.getPHPDBGProxy ().readVariables (this));
                        setUpToDate (true);
 
                        variables = (PHPVariable[]) varList.toArray (new PHPVariable[varList.size ()]);
+                       Arrays.sort(variables, new PHPVariableComparator());
                }
 
                return variables;                                           // Give the array back to user interface
@@ -337,7 +339,7 @@ public class PHPStackFrame extends PHPDebugElement implements IStackFrame, Compa
        public IVariable findVariable (String s) throws DebugException {
                if (!isUpToDate ()) {
                        resetHasChangedInfo (varList);
-               updateVariableList (varList, this.getPHPDBGProxy ().readVariables (this));
+                       updateVariableList (varList, this.getPHPDBGProxy ().readVariables (this));
                        setUpToDate (true);
 
                        variables = (PHPVariable[]) varList.toArray (new PHPVariable[varList.size ()]);
@@ -373,18 +375,18 @@ public class PHPStackFrame extends PHPDebugElement implements IStackFrame, Compa
 
        public String getName() {
                StringBuffer name = new StringBuffer();
-               
+
                if (!this.getDescription().equals ("")) {
                        name.append (this.getDescription ());
                }
                else {
                        name.append (this.getFileName ());
                }
-               
+
                name.append (" [line ");
                name.append (this.getLineNumber ());
                name.append ("]");
-               
+
                return name.toString();
        }
 
@@ -444,7 +446,7 @@ public class PHPStackFrame extends PHPDebugElement implements IStackFrame, Compa
 
                setUpToDate (false);
 
-        thread.prepareForResume (DebugEvent.STEP_INTO);             // Don't know why, but this is necessary
+               thread.prepareForResume (DebugEvent.STEP_INTO);             // Don't know why, but this is necessary
                this.getPHPDBGProxy ().readStepIntoEnd (PHPStackFrame.this);
 
                ev = new DebugEvent (this.getThread (), DebugEvent.RESUME, DebugEvent.STEP_INTO);
@@ -459,7 +461,7 @@ public class PHPStackFrame extends PHPDebugElement implements IStackFrame, Compa
 
                setUpToDate (false);
 
-        thread.prepareForResume (DebugEvent.STEP_OVER);
+               thread.prepareForResume (DebugEvent.STEP_OVER);
                this.getPHPDBGProxy ().readStepOverEnd (PHPStackFrame.this) ;
 
                ev = new DebugEvent (this.getThread (), DebugEvent.RESUME, DebugEvent.STEP_OVER);
@@ -474,7 +476,7 @@ public class PHPStackFrame extends PHPDebugElement implements IStackFrame, Compa
 
                setUpToDate (false);
 
-        thread.prepareForResume (DebugEvent.STEP_RETURN);
+               thread.prepareForResume (DebugEvent.STEP_RETURN);
                this.getPHPDBGProxy ().readStepReturnEnd (PHPStackFrame.this) ;
 
                ev = new DebugEvent (this.getThread (), DebugEvent.RESUME, DebugEvent.STEP_RETURN);
diff --git a/net.sourceforge.phpeclipse.debug.core/src/net/sourceforge/phpdt/internal/debug/core/model/PHPVariableComparator.java b/net.sourceforge.phpeclipse.debug.core/src/net/sourceforge/phpdt/internal/debug/core/model/PHPVariableComparator.java
new file mode 100644 (file)
index 0000000..1cd86e3
--- /dev/null
@@ -0,0 +1,13 @@
+package net.sourceforge.phpdt.internal.debug.core.model;
+
+import java.util.Comparator;
+
+public class PHPVariableComparator implements Comparator {
+
+       public int compare(Object arg0, Object arg1) {
+               PHPVariable left=(PHPVariable) arg0;
+               PHPVariable right=(PHPVariable) arg1;
+               return left.getName().compareTo(right.getName());
+       }
+
+}