Search in sources :

Example 46 with IMenu

use of org.eclipse.scout.rt.client.ui.action.menu.IMenu in project scout.rt by eclipse.

the class TreeContextMenu method calculateEnableState.

/**
 * @param ownerSelection
 */
protected void calculateEnableState(Collection<? extends ITreeNode> ownerSelection) {
    boolean enabled = true;
    for (ITreeNode node : ownerSelection) {
        if (!node.isEnabled()) {
            enabled = false;
            break;
        }
    }
    final boolean inheritedEnability = enabled;
    acceptVisitor(new IActionVisitor() {

        @Override
        public int visit(IAction action) {
            if (action instanceof IMenu) {
                IMenu menu = (IMenu) action;
                if (!menu.hasChildActions() && menu.isInheritAccessibility()) {
                    menu.setEnabledInheritAccessibility(inheritedEnability);
                }
            }
            return CONTINUE;
        }
    });
}
Also used : IActionVisitor(org.eclipse.scout.rt.client.ui.action.IActionVisitor) IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) ITreeNode(org.eclipse.scout.rt.client.ui.basic.tree.ITreeNode) IAction(org.eclipse.scout.rt.client.ui.action.IAction)

Example 47 with IMenu

use of org.eclipse.scout.rt.client.ui.action.menu.IMenu in project scout.rt by eclipse.

the class RootNode method execInitTreeNode.

@Override
protected void execInitTreeNode() {
    List<IMenu> menus = new ArrayList<IMenu>();
    for (IMenu m : getMenus()) {
        if (m.getClass() == AddEntityPlaceholderOnRootMenu.class) {
            attachAddEntityMenus(menus);
        } else {
            menus.add(m);
        }
    }
    setMenus(menus);
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) ArrayList(java.util.ArrayList)

Example 48 with IMenu

use of org.eclipse.scout.rt.client.ui.action.menu.IMenu in project scout.rt by eclipse.

the class EitherOrNode method execInitTreeNode.

@Override
protected void execInitTreeNode() {
    List<IMenu> menus = new ArrayList<IMenu>();
    for (IMenu m : getMenus()) {
        if (m.getClass() == AddEntityOnEitherOrPlaceholderMenu.class) {
            attachAddEntityMenus(menus);
        } else {
            menus.add(m);
        }
    }
    setMenus(menus);
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) ArrayList(java.util.ArrayList)

Example 49 with IMenu

use of org.eclipse.scout.rt.client.ui.action.menu.IMenu in project scout.rt by eclipse.

the class AbstractMenuTest method testAbstractMenuInImageField.

@Test
public void testAbstractMenuInImageField() {
    ImageField imageField = new ImageField();
    List<IMenu> menus = imageField.getMenus();
    assertEquals(2, menus.size());
    assertEquals(menus.get(0).getText(), "Menu1");
    assertEquals(menus.get(1).getText(), "Menu2");
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) AbstractImageField(org.eclipse.scout.rt.client.ui.form.fields.imagefield.AbstractImageField) Test(org.junit.Test)

Example 50 with IMenu

use of org.eclipse.scout.rt.client.ui.action.menu.IMenu in project scout.rt by eclipse.

the class OutlineTreeContextMenuNestedPageWithTablesTest method assertRowMenusExistOnTablePageNode.

private static void assertRowMenusExistOnTablePageNode(IOutline outline) throws Exception {
    outline.selectFirstNode();
    IPageWithTable<?> activePage = (IPageWithTable<?>) outline.getActivePage();
    List<IMenu> requiredMenus = resolveMenusOfPageWithTable(activePage, PageWithTableRowMenu.class);
    outline.selectNextChildNode();
    SubPageWithTable subTablePage = outline.findPage(SubPageWithTable.class);
    requiredMenus.addAll(resolveMenusOfPageWithTable(subTablePage, SubPageWithTableEmptySpaceMenu.class));
    for (IMenu iMenu : requiredMenus) {
        System.out.println(" r- " + iMenu);
    }
    ITreeNode selectedNode = outline.getSelectedNode();
    List<IMenu> menus = selectedNode.getTree().getMenus();
    for (IMenu iMenu : menus) {
        System.out.println(" m- " + iMenu);
    }
    assertTrue(containsAllMenus(menus, requiredMenus));
    // + 1 stands for menu separator
    assertEquals(sizeMenuListWithoutSeparators(menus), requiredMenus.size());
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) ITreeNode(org.eclipse.scout.rt.client.ui.basic.tree.ITreeNode) SubPageWithTableEmptySpaceMenu(org.eclipse.scout.rt.client.ui.desktop.outline.pages.OutlineTreeContextMenuNestedPageWithTablesTest.SubPageWithTable.Table.SubPageWithTableEmptySpaceMenu)

Aggregations

IMenu (org.eclipse.scout.rt.client.ui.action.menu.IMenu)64 ArrayList (java.util.ArrayList)17 Test (org.junit.Test)17 OrderedCollection (org.eclipse.scout.rt.platform.util.collection.OrderedCollection)12 IAction (org.eclipse.scout.rt.client.ui.action.IAction)8 JSONObject (org.json.JSONObject)8 TestMenus (org.eclipse.scout.rt.client.extension.ui.action.tree.fixture.TestMenus)6 IActionVisitor (org.eclipse.scout.rt.client.ui.action.IActionVisitor)6 JSONArray (org.json.JSONArray)6 IKeyStroke (org.eclipse.scout.rt.client.ui.action.keystroke.IKeyStroke)5 ITable (org.eclipse.scout.rt.client.ui.basic.table.ITable)5 ITreeNode (org.eclipse.scout.rt.client.ui.basic.tree.ITreeNode)5 ContributionComposite (org.eclipse.scout.rt.shared.extension.ContributionComposite)5 LinkedList (java.util.LinkedList)4 IOutline (org.eclipse.scout.rt.client.ui.desktop.outline.IOutline)4 ProcessingException (org.eclipse.scout.rt.platform.exception.ProcessingException)4 List (java.util.List)3 ActionFinder (org.eclipse.scout.rt.client.ui.action.ActionFinder)3 AbstractMenu (org.eclipse.scout.rt.client.ui.action.menu.AbstractMenu)3 IFormFieldContextMenu (org.eclipse.scout.rt.client.ui.action.menu.root.IFormFieldContextMenu)3