1 package org.simantics.browsing.ui.swt;
\r
3 import org.eclipse.jface.viewers.ViewerCell;
\r
4 import org.eclipse.jface.viewers.ViewerRow;
\r
5 import org.simantics.browsing.ui.common.internal.UIElementReference;
\r
7 public class ViewerRowReference implements UIElementReference{
\r
9 private final Object element;
\r
11 public static ViewerRowReference create(ViewerCell cell) {
\r
12 return new ViewerRowReference(cell.getViewerRow());
\r
15 public static ViewerRowReference create(ViewerRow row) {
\r
16 return new ViewerRowReference(row);
\r
19 public static ViewerRowReference create(Object element) {
\r
20 return new ViewerRowReference(element);
\r
23 private ViewerRowReference(ViewerRow row) {
\r
24 this.element = row.getElement();
\r
27 private ViewerRowReference(Object element) {
\r
28 this.element = element;
\r
32 public boolean hasReference() {
\r
33 return element != null;
\r
37 public boolean isDisposed() {
\r
38 if (element == null)
\r
43 public Object getElement() {
\r
48 public int hashCode() {
\r
49 if (element != null)
\r
50 return element.hashCode();
\r
55 public boolean equals(Object obj) {
\r
58 if (obj.getClass() != getClass())
\r
60 if (element == null)
\r
62 ViewerRowReference other = (ViewerRowReference)obj;
\r
63 return element.equals(other.element);
\r