From 70c6630eab2d6e6a289a969d3c65401650b86117 Mon Sep 17 00:00:00 2001
From: incastrix <incastrix>
Date: Sat, 27 Sep 2008 04:28:26 +0000
Subject: [PATCH] Enable first implementation of value change in varialbles view.

---
 .../xdebug/php/model/XDebugAbstractValue.java      |   26 ++++++++-----------
 1 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugAbstractValue.java b/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugAbstractValue.java
index 9b0a57e..b52ea6f 100644
--- a/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugAbstractValue.java
+++ b/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugAbstractValue.java
@@ -1,5 +1,4 @@
-/*
- * Created on 23.11.2004
+ /* Created on 23.11.2004
  *
  * TODO To change the template for this generated file go to
  * Window - Preferences - Java - Code Style - Code Templates
@@ -9,6 +8,7 @@ package net.sourceforge.phpeclipse.xdebug.php.model;
 import net.sourceforge.phpeclipse.xdebug.core.Base64;
 import net.sourceforge.phpeclipse.xdebug.core.PHPDebugUtils;
 
+import org.eclipse.debug.core.DebugEvent;
 import org.eclipse.debug.core.DebugException;
 import org.eclipse.debug.core.model.IValue;
 import org.eclipse.debug.core.model.IVariable;
@@ -37,8 +37,8 @@ public abstract class XDebugAbstractValue  extends XDebugElement implements IVal
 			NumChildren = Integer.parseInt(PHPDebugUtils.getAttributeValue(varNode, "numchildren"));
 		}		
 
-		NodeList property = varNode.getChildNodes();
 		if (NumChildren > 0) {
+			NodeList property = varNode.getChildNodes();
 			renderValueString(""+property.getLength());
 			fVariables = new IVariable[property.getLength()];
 			for (int i = 0; i<property.getLength(); i++) {
@@ -53,8 +53,7 @@ public abstract class XDebugAbstractValue  extends XDebugElement implements IVal
 			} catch (NullPointerException e) {
 				str="";
 			}
-			
-			
+
 			String Encoding = PHPDebugUtils.getAttributeValue(varNode,"encoding");
 			
 			if (Encoding.equals("base64")) {
@@ -114,17 +113,14 @@ public abstract class XDebugAbstractValue  extends XDebugElement implements IVal
 	public abstract boolean verifyValue(String expression);
 	
 	public boolean setValue(String expression) {
-		if (!verifyValue(expression))
+		if (!verifyValue(expression)) {
 			return false;
-        if( getDebugTarget() == null ) {
-            renderValueString(expression);
-	    } else {
-	           /* if(((XDebugTarget) getDebugTarget()).setVarValue(fVariable.getFullName(),expression)) {
-	                    renderValueString(expression);
-	                    return true;
-	            }*/
-	    }
-		return false;
+		}
+		
+		renderValueString(expression);
+		fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CONTENT));
+        
+		return true;
 	}
 	
 	public boolean supportsValueModification() {
-- 
1.7.1