Search in sources :

Example 1 with Menu

use of org.eclipse.scout.rt.ui.html.json.menu.fixtures.Menu in project scout.rt by eclipse.

the class JsonTableTest method testMenuDisposalOnPropertyChange.

@Test
public void testMenuDisposalOnPropertyChange() throws JSONException {
    ITable table = new TableWithoutMenus();
    JsonTable<ITable> jsonTable = UiSessionTestUtility.newJsonAdapter(m_uiSession, table, null);
    jsonTable.toJson();
    // ----------
    Menu menu1 = new Menu();
    table.getContextMenu().addChildAction(menu1);
    assertNotNull(jsonTable.getAdapter(menu1));
    assertTrue(jsonTable.getAdapter(menu1).isInitialized());
    table.getContextMenu().removeChildAction(menu1);
    assertNull(jsonTable.getAdapter(menu1));
}
Also used : TableWithoutMenus(org.eclipse.scout.rt.ui.html.json.table.fixtures.TableWithoutMenus) ITable(org.eclipse.scout.rt.client.ui.basic.table.ITable) TableWithNonDisplayableMenu(org.eclipse.scout.rt.ui.html.json.table.fixtures.TableWithNonDisplayableMenu) Menu(org.eclipse.scout.rt.ui.html.json.menu.fixtures.Menu) NonDisplayableMenu(org.eclipse.scout.rt.ui.html.json.table.fixtures.TableWithNonDisplayableMenu.NonDisplayableMenu) DisplayableMenu(org.eclipse.scout.rt.ui.html.json.table.fixtures.TableWithNonDisplayableMenu.DisplayableMenu) IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) JsonMenu(org.eclipse.scout.rt.ui.html.json.menu.JsonMenu) Test(org.junit.Test)

Example 2 with Menu

use of org.eclipse.scout.rt.ui.html.json.menu.fixtures.Menu in project scout.rt by eclipse.

the class JsonTreeTest method testMenusChangedEvent.

/**
 * Tests whether a menus property change event gets sent for the json tree if the context menu changes
 */
@Test
public void testMenusChangedEvent() throws JSONException {
    ITree tree = createTreeWithOneNode();
    ITreeNode node = tree.getRootNode().getChildNode(0);
    assertFalse(node.isSelectedNode());
    JsonTree<ITree> jsonTree = m_uiSession.createJsonAdapter(tree, null);
    Menu menu1 = new Menu();
    tree.getContextMenu().addChildAction(menu1);
    IJsonAdapter<?> jsonMenu1 = jsonTree.getAdapter(menu1);
    assertNotNull(jsonMenu1);
    assertTrue(jsonMenu1.isInitialized());
    JSONArray jsonMenus = JsonTestUtility.extractProperty(m_uiSession.currentJsonResponse(), jsonTree.getId(), IJsonContextMenuOwner.PROP_MENUS);
    assertNotNull(jsonMenus);
    assertEquals(1, jsonMenus.length());
    assertEquals(jsonMenu1.getId(), jsonMenus.get(0));
}
Also used : ITreeNode(org.eclipse.scout.rt.client.ui.basic.tree.ITreeNode) JSONArray(org.json.JSONArray) ITree(org.eclipse.scout.rt.client.ui.basic.tree.ITree) Menu(org.eclipse.scout.rt.ui.html.json.menu.fixtures.Menu) Test(org.junit.Test)

Example 3 with Menu

use of org.eclipse.scout.rt.ui.html.json.menu.fixtures.Menu in project scout.rt by eclipse.

the class JsonTreeTest method testMultipleMenuDisposallOnPropertyChange.

@Test
public void testMultipleMenuDisposallOnPropertyChange() throws JSONException {
    ITree tree = createTreeWithOneNode();
    ITreeNode node = tree.getRootNode().getChildNode(0);
    assertFalse(node.isSelectedNode());
    JsonTree<ITree> jsonTree = m_uiSession.createJsonAdapter(tree, null);
    Menu menu1 = new Menu();
    Menu menu2 = new Menu();
    tree.getContextMenu().addChildAction(menu1);
    tree.getContextMenu().addChildAction(menu2);
    assertNotNull(jsonTree.getAdapter(menu1));
    assertTrue(jsonTree.getAdapter(menu1).isInitialized());
    assertNotNull(jsonTree.getAdapter(menu2));
    assertTrue(jsonTree.getAdapter(menu2).isInitialized());
    tree.getContextMenu().removeChildAction(menu1);
    assertNull(jsonTree.getAdapter(menu1));
    assertNotNull(jsonTree.getAdapter(menu2));
    assertTrue(jsonTree.getAdapter(menu2).isInitialized());
}
Also used : ITreeNode(org.eclipse.scout.rt.client.ui.basic.tree.ITreeNode) ITree(org.eclipse.scout.rt.client.ui.basic.tree.ITree) Menu(org.eclipse.scout.rt.ui.html.json.menu.fixtures.Menu) Test(org.junit.Test)

Example 4 with Menu

use of org.eclipse.scout.rt.ui.html.json.menu.fixtures.Menu in project scout.rt by eclipse.

the class JsonMenuTest method testInitialVSPropertyChange.

@Test
public void testInitialVSPropertyChange() throws Exception {
    Menu menu = new Menu();
    menu.setText("foo");
    // when adapter has been created we have the complete adapter in the adapter-data section of the JSON response
    JsonMenu<IMenu> menuAdapter = m_uiSession.getOrCreateJsonAdapter(menu, null);
    JSONObject json = m_uiSession.currentJsonResponse().toJson();
    JSONObject adpaterData = JsonTestUtility.getAdapterData(json, menuAdapter.getId());
    assertEquals("foo", adpaterData.getString("text"));
    // Simulate processRequest, which resets the current JSON response. Otherwise the property change event
    // would be ignored because a new adapter exists in the current JSON response.
    JsonTestUtility.endRequest(m_uiSession);
    // when a property change occurs we assert an event is created for the adapter to update, containing only the changed property
    menu.setText("bar");
    json = m_uiSession.currentJsonResponse().toJson();
    JSONObject event = JsonTestUtility.getPropertyChange(json, 0);
    assertEquals("bar", event.getString("text"));
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) JSONObject(org.json.JSONObject) IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) AbstractMenu(org.eclipse.scout.rt.client.ui.action.menu.AbstractMenu) NonDisplayableMenu(org.eclipse.scout.rt.ui.html.json.menu.fixtures.MenuWithNonDisplayableChild.NonDisplayableMenu) DisplayableMenu(org.eclipse.scout.rt.ui.html.json.menu.fixtures.MenuWithNonDisplayableChild.DisplayableMenu) Menu(org.eclipse.scout.rt.ui.html.json.menu.fixtures.Menu) Test(org.junit.Test)

Example 5 with Menu

use of org.eclipse.scout.rt.ui.html.json.menu.fixtures.Menu in project scout.rt by eclipse.

the class JsonTreeTest method testMenuDisposalOnPropertyChange.

@Test
public void testMenuDisposalOnPropertyChange() throws JSONException {
    ITree tree = createTreeWithOneNode();
    ITreeNode node = tree.getRootNode().getChildNode(0);
    assertFalse(node.isSelectedNode());
    JsonTree<ITree> jsonTree = m_uiSession.createJsonAdapter(tree, null);
    Menu menu1 = new Menu();
    tree.getContextMenu().addChildAction(menu1);
    assertNotNull(jsonTree.getAdapter(menu1));
    assertTrue(jsonTree.getAdapter(menu1).isInitialized());
    tree.getContextMenu().removeChildAction(menu1);
    assertNull(jsonTree.getAdapter(menu1));
}
Also used : ITreeNode(org.eclipse.scout.rt.client.ui.basic.tree.ITreeNode) ITree(org.eclipse.scout.rt.client.ui.basic.tree.ITree) Menu(org.eclipse.scout.rt.ui.html.json.menu.fixtures.Menu) Test(org.junit.Test)

Aggregations

Menu (org.eclipse.scout.rt.ui.html.json.menu.fixtures.Menu)5 Test (org.junit.Test)5 ITree (org.eclipse.scout.rt.client.ui.basic.tree.ITree)3 ITreeNode (org.eclipse.scout.rt.client.ui.basic.tree.ITreeNode)3 IMenu (org.eclipse.scout.rt.client.ui.action.menu.IMenu)2 AbstractMenu (org.eclipse.scout.rt.client.ui.action.menu.AbstractMenu)1 ITable (org.eclipse.scout.rt.client.ui.basic.table.ITable)1 JsonMenu (org.eclipse.scout.rt.ui.html.json.menu.JsonMenu)1 DisplayableMenu (org.eclipse.scout.rt.ui.html.json.menu.fixtures.MenuWithNonDisplayableChild.DisplayableMenu)1 NonDisplayableMenu (org.eclipse.scout.rt.ui.html.json.menu.fixtures.MenuWithNonDisplayableChild.NonDisplayableMenu)1 TableWithNonDisplayableMenu (org.eclipse.scout.rt.ui.html.json.table.fixtures.TableWithNonDisplayableMenu)1 DisplayableMenu (org.eclipse.scout.rt.ui.html.json.table.fixtures.TableWithNonDisplayableMenu.DisplayableMenu)1 NonDisplayableMenu (org.eclipse.scout.rt.ui.html.json.table.fixtures.TableWithNonDisplayableMenu.NonDisplayableMenu)1 TableWithoutMenus (org.eclipse.scout.rt.ui.html.json.table.fixtures.TableWithoutMenus)1 JSONArray (org.json.JSONArray)1 JSONObject (org.json.JSONObject)1