diff options
author | Pawel Piech | 2009-09-22 17:23:48 +0000 |
---|---|---|
committer | Pawel Piech | 2009-09-22 17:23:48 +0000 |
commit | e08ad9880bea42f69d5c484216f4ee411756b993 (patch) | |
tree | 1aaa2ca76c5fd41927f17531c417ddec2db304c0 | |
parent | 64facb405c6b0588d4c01439c458884209218d69 (diff) | |
download | eclipse.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.
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) |