Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Piech2009-09-22 17:23:48 +0000
committerPawel Piech2009-09-22 17:23:48 +0000
commite08ad9880bea42f69d5c484216f4ee411756b993 (patch)
tree1aaa2ca76c5fd41927f17531c417ddec2db304c0
parent64facb405c6b0588d4c01439c458884209218d69 (diff)
downloadeclipse.platform.debug-e08ad9880bea42f69d5c484216f4ee411756b993.tar.gz
eclipse.platform.debug-e08ad9880bea42f69d5c484216f4ee411756b993.tar.xz
eclipse.platform.debug-e08ad9880bea42f69d5c484216f4ee411756b993.zip
[286310] Added unit tests for the flexible viewer checkbox support.
-rw-r--r--org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModel.java24
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelCheckProviderTarget.java16
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java28
3 files changed, 56 insertions, 12 deletions
diff --git a/org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModel.java b/org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModel.java
index e84a35014..f484fd8a3 100644
--- a/org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModel.java
+++ b/org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModel.java
@@ -15,8 +15,10 @@ import java.util.Arrays;
import junit.framework.Assert;
import org.eclipse.core.runtime.PlatformObject;
+import org.eclipse.debug.internal.ui.viewers.model.ITreeModelCheckProviderTarget;
import org.eclipse.debug.internal.ui.viewers.model.ITreeModelContentProviderTarget;
import org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer;
+import org.eclipse.debug.internal.ui.viewers.model.provisional.ICheckUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenCountUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementContentProvider;
@@ -176,12 +178,11 @@ public class TestModel implements IElementContentProvider, IElementLabelProvider
for (int i = 0; i < updates.length; i++) {
TestElement element = (TestElement)updates[i].getElement();
updates[i].setLabel(element.fID, 0);
-// TODO: wait for bug 286310
-// if (updates[i] instanceof ICheckUpdate &&
-// Boolean.TRUE.equals(updates[i].getPresentationContext().getProperty(ICheckUpdate.PROP_CHECK)))
-// {
-// ((ICheckUpdate)updates[i]).setChecked(element.getChecked(), element.getGrayed());
-// }
+ if (updates[i] instanceof ICheckUpdate &&
+ Boolean.TRUE.equals(updates[i].getPresentationContext().getProperty(ICheckUpdate.PROP_CHECK)))
+ {
+ ((ICheckUpdate)updates[i]).setChecked(element.getChecked(), element.getGrayed());
+ }
updates[i].done();
}
}
@@ -224,12 +225,11 @@ public class TestModel implements IElementContentProvider, IElementLabelProvider
public void validateData(ITreeModelViewer _viewer, TreePath path, boolean expandedElementsOnly) {
ITreeModelContentProviderTarget viewer = (ITreeModelContentProviderTarget)_viewer;
TestElement element = getElement(path);
-// TODO: wait for bug 286310
-// if ( Boolean.TRUE.equals(_viewer.getPresentationContext().getProperty(ICheckUpdate.PROP_CHECK)) ) {
-// ITreeModelCheckProviderTarget checkTarget = (ITreeModelCheckProviderTarget)_viewer;
-// Assert.assertEquals(element.getChecked(), checkTarget.getElementChecked(path));
-// Assert.assertEquals(element.getGrayed(), checkTarget.getElementGrayed(path));
-// }
+ if ( Boolean.TRUE.equals(_viewer.getPresentationContext().getProperty(ICheckUpdate.PROP_CHECK)) ) {
+ ITreeModelCheckProviderTarget checkTarget = (ITreeModelCheckProviderTarget)_viewer;
+ Assert.assertEquals(element.getChecked(), checkTarget.getElementChecked(path));
+ Assert.assertEquals(element.getGrayed(), checkTarget.getElementGrayed(path));
+ }
if (!expandedElementsOnly || path.getSegmentCount() == 0 || viewer.getExpandedState(path) ) {
TestElement[] children = element.getChildren();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelCheckProviderTarget.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelCheckProviderTarget.java
index c56581396..1348f254c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelCheckProviderTarget.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelCheckProviderTarget.java
@@ -31,4 +31,20 @@ public interface ITreeModelCheckProviderTarget extends ITreeModelLabelProviderTa
* @param grayed
*/
public void setElementChecked(TreePath path, boolean checked, boolean grayed);
+
+ /**
+ * Retrieves the element check state.
+ *
+ * @param path
+ * @return checked
+ */
+ public boolean getElementChecked(TreePath path);
+
+ /**
+ * Retrieves the element's check box grayed state.
+ *
+ * @param path
+ * @return grayed
+ */
+ public boolean getElementGrayed(TreePath path);
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
index 449dff75f..c34867139 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
@@ -2273,6 +2273,34 @@ public class InternalTreeModelViewer extends TreeViewer
}
}
+ public boolean getElementChecked(TreePath path) {
+ Widget widget = findItem(path);
+
+ if (widget != null && widget instanceof TreeItem && !widget.isDisposed()) {
+ TreeItem item = (TreeItem)widget;
+
+ return item.getChecked();
+ }
+ return false;
+ }
+
+ /**
+ * Retrieves the element's check box grayed state.
+ *
+ * @param path
+ * @return grayed
+ */
+ public boolean getElementGrayed(TreePath path) {
+ Widget widget = findItem(path);
+
+ if (widget != null && widget instanceof TreeItem && !widget.isDisposed()) {
+ TreeItem item = (TreeItem)widget;
+
+ return item.getGrayed();
+ }
+ return false;
+ }
+
/*
* (non-Javadoc)
* @see org.eclipse.jface.viewers.StructuredViewer#handleSelect(org.eclipse.swt.events.SelectionEvent)

Back to the top