Search in sources :

Example 31 with IMenu

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

the class AbstractOutline method addMenusOfActivePageToContextMenu.

protected void addMenusOfActivePageToContextMenu(IPage<?> activePage) {
    List<IMenu> wrappedMenus = new ArrayList<>();
    for (IMenu m : computeInheritedMenusOfPage(activePage)) {
        wrappedMenus.add(new OutlineMenuWrapper(m, TABLE_MENU_TYPE_MAPPER));
    }
    m_inheritedMenusOfPage = wrappedMenus;
    getContextMenu().addChildActions(m_inheritedMenusOfPage);
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) ArrayList(java.util.ArrayList)

Example 32 with IMenu

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

the class AbstractBookmarkMenu method handleBookmarksChanged.

protected void handleBookmarksChanged() {
    IBookmarkService service = BEANS.get(IBookmarkService.class);
    List<IMenu> oldList = getChildActions();
    List<IMenu> newList = new ArrayList<IMenu>();
    for (IMenu m : oldList) {
        if (m.getClass() == AddUserBookmarkMenu.class) {
            newList.add(m);
        } else if (m.getClass() == AddGlobalBookmarkMenu.class) {
            newList.add(m);
        } else if (m.getClass() == ManageBookmarksMenu.class) {
            newList.add(m);
        } else if (m.getClass() == StartBookmarkMenu.class) {
            newList.add(m);
        } else if (m.getClass() == Separator1Menu.class) {
            newList.add(m);
        } else {
            // ignore the rest
            break;
        }
    }
    // add global bookmarks
    newList.add(new MenuSeparator());
    addBookmarkTreeInternal(service.getBookmarkData().getGlobalBookmarks(), newList);
    // add user bookmarks
    newList.add(new MenuSeparator());
    addBookmarkTreeInternal(service.getBookmarkData().getUserBookmarks(), newList);
    setChildActions(newList);
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) ArrayList(java.util.ArrayList) AbstractMenuSeparator(org.eclipse.scout.rt.client.ui.action.menu.AbstractMenuSeparator) MenuSeparator(org.eclipse.scout.rt.client.ui.action.menu.MenuSeparator) IBookmarkService(org.eclipse.scout.rt.client.services.common.bookmark.IBookmarkService)

Example 33 with IMenu

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

the class AbstractValueField method initConfig.

@Override
protected void initConfig() {
    super.initConfig();
    m_listeningSlaves = new EventListenerList();
    setAutoAddDefaultMenus(getConfiguredAutoAddDefaultMenus());
    // menus
    List<Class<? extends IMenu>> declaredMenus = getDeclaredMenus();
    List<IMenu> contributedMenus = m_contributionHolder.getContributionsByClass(IMenu.class);
    OrderedCollection<IMenu> menus = new OrderedCollection<IMenu>();
    for (Class<? extends IMenu> menuClazz : declaredMenus) {
        menus.addOrdered(ConfigurationUtility.newInnerInstance(this, menuClazz));
    }
    menus.addAllOrdered(contributedMenus);
    try {
        injectMenusInternal(menus);
    } catch (Exception e) {
        LOG.error("error occured while dynamically contributing menus.", e);
    }
    new MoveActionNodesHandler<IMenu>(menus).moveModelObjects();
    // set container on menus
    IValueFieldContextMenu contextMenu = createContextMenu(menus);
    contextMenu.setContainerInternal(this);
    setContextMenu(contextMenu);
    setStatusMenuMappings(createStatusMenuMappings());
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) IValueFieldContextMenu(org.eclipse.scout.rt.client.ui.action.menu.root.IValueFieldContextMenu) EventListenerList(org.eclipse.scout.rt.platform.util.EventListenerList) OrderedCollection(org.eclipse.scout.rt.platform.util.collection.OrderedCollection) ProcessingException(org.eclipse.scout.rt.platform.exception.ProcessingException) IOException(java.io.IOException) VetoException(org.eclipse.scout.rt.platform.exception.VetoException)

Example 34 with IMenu

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

the class MoveActionNodeTest method testMoveMenuToAnotherMenuWithouChangingOrder.

@Test
public void testMoveMenuToAnotherMenuWithouChangingOrder() {
    BEANS.get(IExtensionRegistry.class).registerMove(Sub1Top1Menu.class, null, Top2Menu.class);
    TestMenus menus = new TestMenus();
    List<IMenu> topLevelMenu = menus.getMenus();
    assertMenus(topLevelMenu, Top1Menu.class, Top2Menu.class);
    assertMenus(topLevelMenu.get(0).getChildActions(), Sub2Top1Menu.class);
    assertMenus(topLevelMenu.get(1).getChildActions(), Sub1Top1Menu.class, Sub1Top2Menu.class, Sub2Top2Menu.class);
    assertMenus(topLevelMenu.get(1).getChildActions().get(0).getChildActions(), Sub1Sub1Top1Menu.class);
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) TestMenus(org.eclipse.scout.rt.client.extension.ui.action.tree.fixture.TestMenus) IExtensionRegistry(org.eclipse.scout.rt.shared.extension.IExtensionRegistry) Test(org.junit.Test)

Example 35 with IMenu

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

the class MoveActionNodeTest method doTestMoveTopLevelMenu.

protected void doTestMoveTopLevelMenu() {
    TestMenus menus = new TestMenus();
    List<IMenu> topLevelMenu = menus.getMenus();
    assertMenus(topLevelMenu, Top2Menu.class, Top1Menu.class);
    assertMenus(topLevelMenu.get(0).getChildActions(), Sub1Top2Menu.class, Sub2Top2Menu.class);
    assertMenus(topLevelMenu.get(1).getChildActions(), Sub1Top1Menu.class, Sub2Top1Menu.class);
    assertMenus(topLevelMenu.get(1).getChildActions().get(0).getChildActions(), Sub1Sub1Top1Menu.class);
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) TestMenus(org.eclipse.scout.rt.client.extension.ui.action.tree.fixture.TestMenus)

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