[jboss-svn-commits] JBL Code SVN: r10915 - labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Apr 11 20:48:48 EDT 2007
Author: KrisVerlaenen
Date: 2007-04-11 20:48:48 -0400 (Wed, 11 Apr 2007)
New Revision: 10915
Modified:
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java
Log:
JBRULES-775: tree views should remember open/close toggle
- Debug views now have a field that holds last expanded elements
(to ignore null inputs)
- Auto-expand level of Agenda-view diminished to 1
- Agenda view now uses special agenda group nodes that are equal when their
name is equal (even when their content isn't), to allow re-expanding agenda
group nodes
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java 2007-04-11 22:48:08 UTC (rev 10914)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java 2007-04-12 00:48:48 UTC (rev 10915)
@@ -14,6 +14,6 @@
}
protected int getAutoExpandLevel() {
- return 2;
+ return 1;
}
}
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java 2007-04-11 22:48:08 UTC (rev 10914)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java 2007-04-12 00:48:48 UTC (rev 10915)
@@ -91,7 +91,7 @@
// because the debug view does not handle spaces well, all spaces
// in the agenda group name are replaced with '_'s.
name = replaceSpaces(name);
- result.add(new VariableWrapper(name + "[" + (active ? "focus" : "nofocus") + "]",
+ result.add(new MyVariableWrapper(name + "[" + (active ? "focus" : "nofocus") + "]",
new ObjectWrapper((IJavaObject) agendaGroup,
(IJavaVariable[]) activationsResult.toArray(new IJavaVariable[activationsResult.size()]))));
}
@@ -102,4 +102,28 @@
private String replaceSpaces(String name) {
return name.replace(' ', '_');
}
+
+ /**
+ * Special VariableWrapper that considers variables with the same name
+ * as equal.
+ */
+ private class MyVariableWrapper extends VariableWrapper {
+
+ public MyVariableWrapper(String name, IJavaValue value) {
+ super(name, value);
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof VariableWrapper) {
+ VariableWrapper var = (VariableWrapper) obj;
+ return var.getName().equals(getName());
+ }
+ return false;
+ }
+
+ public int hashCode() {
+ return getName().hashCode();
+ }
+
+ }
}
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java 2007-04-11 22:48:08 UTC (rev 10914)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java 2007-04-12 00:48:48 UTC (rev 10915)
@@ -44,6 +44,7 @@
private VariablesViewModelPresentation modelPresentation;
private boolean showLogical = true;
+ private Object[] oldExpandedElements = new Object[0];
public void dispose() {
DebugContextManager.getDefault().removeDebugContextListener(this, getSite().getWorkbenchWindow());
@@ -109,10 +110,13 @@
return;
}
- Object[] expandedElements = ((TreeViewer) getViewer()).getExpandedElements();
+ Object[] newExpandedElements = ((TreeViewer) getViewer()).getExpandedElements();
+ if (newExpandedElements.length != 0) {
+ oldExpandedElements = newExpandedElements;
+ }
getViewer().setInput(input);
if (input != null) {
- ((TreeViewer) getViewer()).setExpandedElements(expandedElements);
+ ((TreeViewer) getViewer()).setExpandedElements(oldExpandedElements);
((TreeViewer) getViewer()).expandToLevel(getAutoExpandLevel());
}
}
More information about the jboss-svn-commits
mailing list