1) Improvements for the XDebug plugin.
[phpeclipse.git] / net.sourceforge.phpeclipse.xdebug.core / src / net / sourceforge / phpeclipse / xdebug / php / model / XDebugVariable.java
index 240ec9c..35b04a0 100644 (file)
@@ -20,10 +20,12 @@ import org.w3c.dom.Node;
  * Window - Preferences - Java - Code Style - Code Templates
  */
 public class XDebugVariable extends XDebugElement implements IVariable {
-       private String fName;
-       private XDebugStackFrame fFrame;
+       private String                          fName;
+       private XDebugStackFrame        fFrame;
        private XDebugAbstractValue fValue;
-       private String fFacet;
+       private String                          fFacet;
+       private XDebugVariable          fParent;                // The parent variable (a back link)
+
        
        /**
         * Constructs a variable contained in the given stack frame
@@ -68,14 +70,14 @@ public class XDebugVariable extends XDebugElement implements IVariable {
        /* (non-Javadoc)
         * @see org.eclipse.debug.core.model.IVariable#getValue()
         */
-       public IValue getValue() throws DebugException {
+       public IValue getValue() {
                return fValue;
        }
        
        /* (non-Javadoc)
         * @see org.eclipse.debug.core.model.IVariable#getName()
         */
-       public String getName() throws DebugException {
+       public String getName() {
                return fName;
        }
        
@@ -108,6 +110,17 @@ public class XDebugVariable extends XDebugElement implements IVariable {
        public void setValue(IValue value) throws DebugException {
        }
 
+       /**
+        *
+        * @param changed This method is called after a suspend when the list of
+        *                variables is updated, to mark that this variable has a changed
+        *                value. The variable view will show this variable in
+        *                a different color.
+        */
+       public void setValueChanged(boolean changed) {
+               fValue.setChanged(changed);
+       }
+
        /* (non-Javadoc)
         * @see org.eclipse.debug.core.model.IValueModification#supportsValueModification()
         */
@@ -136,4 +149,18 @@ public class XDebugVariable extends XDebugElement implements IVariable {
        public String getVisibility() {
                return fFacet;
        }
+       
+       /**
+        *
+        */
+       public XDebugVariable getParent() {
+               return fParent;
+       }
+
+       /**
+        *
+        */
+       public void setParent(XDebugVariable parent) {
+               this.fParent = parent;
+       }
 }
\ No newline at end of file