Add SetData handler in TreeOperationHandler
diff --git a/bundles/org.eclipse.rap.rwt/src/org/eclipse/rap/rwt/internal/protocol/ClientMessageConst.java b/bundles/org.eclipse.rap.rwt/src/org/eclipse/rap/rwt/internal/protocol/ClientMessageConst.java
index c48cdfd..3430cc3 100644
--- a/bundles/org.eclipse.rap.rwt/src/org/eclipse/rap/rwt/internal/protocol/ClientMessageConst.java
+++ b/bundles/org.eclipse.rap.rwt/src/org/eclipse/rap/rwt/internal/protocol/ClientMessageConst.java
@@ -42,6 +42,7 @@
public static final String EVENT_MENU_DETECT = "MenuDetect";
public static final String EVENT_FOCUS_IN = "FocusIn";
public static final String EVENT_FOCUS_OUT = "FocusOut";
+ public static final String EVENT_SET_DATA = "SetData";
// CTabFolder specific events
public static final String EVENT_FOLDER = "Folder";
diff --git a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler.java b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler.java
index 182046c..f61808e 100644
--- a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler.java
+++ b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler.java
@@ -15,6 +15,7 @@
import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_EXPAND;
import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_PARAM_ITEM;
import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_SELECTION;
+import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_SET_DATA;
import static org.eclipse.rap.rwt.lifecycle.WidgetUtil.find;
import static org.eclipse.rap.rwt.lifecycle.WidgetUtil.getId;
@@ -70,6 +71,8 @@
handleNotifyExpand( tree, properties );
} else if( EVENT_COLLAPSE.equals( eventName ) ) {
handleNotifyCollapse( tree, properties );
+ } else if( EVENT_SET_DATA.equals( eventName ) ) {
+ handleNotifySetData( tree, properties );
} else {
super.handleNotify( tree, eventName, properties );
}
@@ -200,6 +203,13 @@
tree.notifyListeners( SWT.Collapse, event );
}
+ /*
+ * PROTOCOL NOTIFY SetData
+ * ignored, SetData event is fired when set topItemIndex
+ */
+ public void handleNotifySetData( Tree tree, JsonObject properties ) {
+ }
+
private TreeItem getItem( Tree tree, String itemId ) {
TreeItem item = null;
String[] idParts = itemId.split( "#" );
diff --git a/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler_Test.java b/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler_Test.java
index a67df79..2efb47c 100644
--- a/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler_Test.java
+++ b/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler_Test.java
@@ -22,6 +22,7 @@
import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_MOUSE_DOWN;
import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_MOUSE_UP;
import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_SELECTION;
+import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_SET_DATA;
import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_TRAVERSE;
import static org.eclipse.rap.rwt.lifecycle.WidgetUtil.getId;
import static org.junit.Assert.assertArrayEquals;
@@ -29,6 +30,7 @@
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -439,6 +441,13 @@
}
@Test
+ public void testHandleNotifySetData() {
+ handler.handleNotify( EVENT_SET_DATA, new JsonObject() );
+
+ verify( mockedTree, never() ).notifyListeners( eq( SWT.SetData ), any( Event.class ) );
+ }
+
+ @Test
public void testHandleCallRenderToolTipText() {
handler = new TreeOperationHandler( tree );
TreeItem item = new TreeItem( tree, SWT.NONE );