use of org.eclipse.scout.rt.client.ui.action.menu.IMenu in project scout.rt by eclipse.
the class AbstractPageWithNodes method updateContextMenusForSelection.
protected void updateContextMenusForSelection() {
// remove old
if (m_pageMenusOfSelection != null) {
getTable().getContextMenu().removeChildActions(m_pageMenusOfSelection);
m_pageMenusOfSelection = null;
}
List<IMenu> pageMenus = new ArrayList<IMenu>();
List<ITableRow> selectedRows = getTable().getSelectedRows();
if (CollectionUtility.size(selectedRows) == 1) {
ITreeNode node = getTreeNodeFor(CollectionUtility.firstElement(selectedRows));
if (node instanceof IPageWithNodes) {
IPageWithNodes pageWithNodes = (IPageWithNodes) node;
IActionFilter filter = ActionUtility.createMenuFilterMenuTypes(CollectionUtility.hashSet(TreeMenuType.SingleSelection), false);
List<IMenu> menus = ActionUtility.getActions(pageWithNodes.getMenus(), filter);
for (IMenu m : menus) {
pageMenus.add(new OutlineMenuWrapper(m, TREE_MENU_TYPE_MAPPER, filter));
}
}
}
getTable().getContextMenu().addChildActions(pageMenus);
m_pageMenusOfSelection = pageMenus;
}
use of org.eclipse.scout.rt.client.ui.action.menu.IMenu in project scout.rt by eclipse.
the class AbstractButton method initConfig.
@Override
protected void initConfig() {
super.initConfig();
setSystemType(getConfiguredSystemType());
setDisplayStyleInternal(getConfiguredDisplayStyle());
setProcessButton(getConfiguredProcessButton());
setDefaultButton(getConfiguredDefaultButton());
setIconId(getConfiguredIconId());
setKeyStroke(getConfiguredKeyStroke());
setKeyStrokeScopeClass(getConfiguredKeyStrokeScopeClass());
setPreventDoubleClick(getConfiguredPreventDoubleClick());
// 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) {
IMenu menu;
menu = ConfigurationUtility.newInnerInstance(this, menuClazz);
menus.addOrdered(menu);
}
menus.addAllOrdered(contributedMenus);
injectMenusInternal(menus);
new MoveActionNodesHandler<IMenu>(menus).moveModelObjects();
IContextMenu contextMenu = new FormFieldContextMenu<IButton>(this, menus.getOrderedList());
contextMenu.setContainerInternal(this);
setContextMenu(contextMenu);
}
use of org.eclipse.scout.rt.client.ui.action.menu.IMenu in project scout.rt by eclipse.
the class OutlineTreeContextMenuNestedPageWithTablesTest method resolveMenusOfPageWithTable.
@SafeVarargs
private static List<IMenu> resolveMenusOfPageWithTable(IPageWithTable<?> page, Class<? extends IMenu>... menuClasses) throws Exception {
List<IMenu> resolvedMenus = new LinkedList<IMenu>();
for (Class<? extends IMenu> menuClass : menuClasses) {
IMenu menu = page.getTable().getMenuByClass(menuClass);
assertNotNull(menu);
resolvedMenus.add(menu);
}
return resolvedMenus;
}
use of org.eclipse.scout.rt.client.ui.action.menu.IMenu in project scout.rt by eclipse.
the class OutlineTreeContextMenuTest method assertRowMenusExistOnTablePageNode.
private static void assertRowMenusExistOnTablePageNode(IOutline outline) throws Exception {
outline.selectFirstNode();
List<IMenu> requiredMenus = resolveMenusOfActiveTablePage(outline, PageWithTableRowMenu.class);
outline.selectNextChildNode();
ITreeNode selectedNode = outline.getSelectedNode();
List<IMenu> menus = selectedNode.getTree().getMenus();
assertTrue(OutlineTreeContextMenuNestedPageWithTablesTest.containsAllMenus(menus, requiredMenus));
assertEquals(OutlineTreeContextMenuNestedPageWithTablesTest.sizeMenuListWithoutSeparators(menus), requiredMenus.size());
}
use of org.eclipse.scout.rt.client.ui.action.menu.IMenu in project scout.rt by eclipse.
the class OutlineTreeContextMenuTest method resolveMenusOfActiveTablePage.
@SafeVarargs
private static List<IMenu> resolveMenusOfActiveTablePage(IOutline outline, Class<? extends IMenu>... menuClasses) throws Exception {
List<IMenu> resolvedMenus = new LinkedList<IMenu>();
IPageWithTable<?> activePage = (IPageWithTable<?>) outline.getActivePage();
for (Class<? extends IMenu> menuClass : menuClasses) {
IMenu menu = activePage.getTable().getMenuByClass(menuClass);
assertNotNull(menu);
resolvedMenus.add(menu);
}
return resolvedMenus;
}
Aggregations