Search in sources :

Example 6 with IMenu

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

the class AbstractBookmarkMenu method addBookmarkTreeInternal.

protected void addBookmarkTreeInternal(BookmarkFolder folder, List<IMenu> actionList) {
    for (BookmarkFolder f : folder.getFolders()) {
        IMenu group = new MenuSeparator();
        group.setSeparator(false);
        group.setText(f.getTitle());
        group.setIconId(f.getIconId());
        List<IMenu> childActionList = new ArrayList<IMenu>();
        addBookmarkTreeInternal(f, childActionList);
        group.setChildActions(childActionList);
        actionList.add(group);
    }
    List<IMenu> newActions = new ArrayList<>();
    for (Bookmark b : folder.getBookmarks()) {
        newActions.add(new ActivateBookmarkMenu(b));
    }
    ActionUtility.initActions(newActions);
    actionList.addAll(newActions);
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) Bookmark(org.eclipse.scout.rt.shared.services.common.bookmark.Bookmark) BookmarkFolder(org.eclipse.scout.rt.shared.services.common.bookmark.BookmarkFolder) ArrayList(java.util.ArrayList) AbstractMenuSeparator(org.eclipse.scout.rt.client.ui.action.menu.AbstractMenuSeparator) MenuSeparator(org.eclipse.scout.rt.client.ui.action.menu.MenuSeparator)

Example 7 with IMenu

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

the class AbstractTreeNode method lazyCreateAndInitializeMenus.

protected List<IMenu> lazyCreateAndInitializeMenus() {
    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 = ConfigurationUtility.newInnerInstance(this, menuClazz);
        menus.addOrdered(menu);
    }
    try {
        injectMenusInternal(menus);
    } catch (Exception e) {
        LOG.error("error occured while dynamically contribute menus.", e);
    }
    menus.addAllOrdered(contributedMenus);
    new MoveActionNodesHandler<IMenu>(menus).moveModelObjects();
    m_menus = menus.getOrderedList();
    // init menus
    try {
        ActionUtility.initActions(m_menus);
    } catch (RuntimeException e) {
        LOG.error("could not initialize actions.", e);
    }
    return m_menus;
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) OrderedCollection(org.eclipse.scout.rt.platform.util.collection.OrderedCollection)

Example 8 with IMenu

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

the class AbstractTable method initMenus.

protected void initMenus() {
    List<Class<? extends IMenu>> ma = getDeclaredMenus();
    OrderedCollection<IMenu> menus = new OrderedCollection<IMenu>();
    Map<Class<?>, Class<? extends IMenu>> replacements = ConfigurationUtility.getReplacementMapping(ma);
    if (!replacements.isEmpty()) {
        m_menuReplacementMapping = replacements;
    }
    for (Class<? extends IMenu> clazz : ma) {
        IMenu menu = ConfigurationUtility.newInnerInstance(this, clazz);
        menus.addOrdered(menu);
    }
    List<IMenu> contributedMenus = m_contributionHolder.getContributionsByClass(IMenu.class);
    menus.addAllOrdered(contributedMenus);
    injectMenusInternal(menus);
    addHeaderMenus(menus);
    // set container on menus
    for (IMenu menu : menus) {
        menu.setContainerInternal(this);
    }
    new MoveActionNodesHandler<IMenu>(menus).moveModelObjects();
    ITableContextMenu contextMenu = new TableContextMenu(this, menus.getOrderedList());
    setContextMenu(contextMenu);
}
Also used : ITableContextMenu(org.eclipse.scout.rt.client.ui.action.menu.root.ITableContextMenu) IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) OrderedCollection(org.eclipse.scout.rt.platform.util.collection.OrderedCollection) ITableContextMenu(org.eclipse.scout.rt.client.ui.action.menu.root.ITableContextMenu) TableContextMenu(org.eclipse.scout.rt.client.ui.action.menu.root.internal.TableContextMenu)

Example 9 with IMenu

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

the class AbstractPlanner method initConfig.

protected void initConfig() {
    m_listenerList = new EventListenerList();
    m_activityMapUIFacade = createUIFacade();
    // 
    setLabel(getConfiguredLabel());
    setAvailableDisplayModes(getConfiguredAvailableDisplayModes());
    setDisplayMode(getConfiguredDisplayMode());
    setDisplayModeOptions(new HashMap<Integer, DisplayModeOptions>());
    initDisplayModeOptions();
    setHeaderVisible(getConfiguredHeaderVisible());
    setSelectionMode(getConfiguredSelectionMode());
    setActivitySelectable(getConfiguredActivitySelectable());
    setMinimumActivityDuration(getConfiguredMinimumActivityDuration());
    // menus
    List<Class<? extends IMenu>> declaredMenus = getDeclaredMenus();
    OrderedCollection<IMenu> menus = new OrderedCollection<IMenu>();
    for (Class<? extends IMenu> menuClazz : declaredMenus) {
        IMenu menu = ConfigurationUtility.newInnerInstance(this, menuClazz);
        menus.addOrdered(menu);
    }
    m_contributionHolder = new ContributionComposite(this);
    List<IMenu> contributedMenus = m_contributionHolder.getContributionsByClass(IMenu.class);
    menus.addAllOrdered(contributedMenus);
    try {
        injectMenusInternal(menus);
    } catch (Exception e) {
        LOG.error("error occured while dynamically contributing menus.", e);
    }
    new MoveActionNodesHandler<IMenu>(menus).moveModelObjects();
    IPlannerContextMenu contextMenu = new PlannerContextMenu(this, menus.getOrderedList());
    setContextMenu(contextMenu);
    // local property observer
    addPlannerListener(new PlannerAdapter() {

        @Override
        @SuppressWarnings("unchecked")
        public void plannerChanged(PlannerEvent e) {
            if (e.getType() == PlannerEvent.TYPE_RESOURCES_SELECTED) {
                List<Resource<RI>> resources = (List<Resource<RI>>) e.getResources();
                try {
                    interceptResourcesSelected(resources);
                } catch (Exception t) {
                    BEANS.get(ExceptionHandler.class).handle(t);
                }
            }
        }
    });
    addPropertyChangeListener(new PropertyChangeListener() {

        @Override
        @SuppressWarnings("unchecked")
        public void propertyChange(PropertyChangeEvent e) {
            if (e.getPropertyName().equals(PROP_DISPLAY_MODE)) {
                try {
                    interceptDisplayModeChanged((int) e.getNewValue());
                } catch (Exception t) {
                    BEANS.get(ExceptionHandler.class).handle(t);
                }
            } else if (e.getPropertyName().equals(PROP_VIEW_RANGE)) {
                try {
                    interceptViewRangeChanged((Range) e.getNewValue());
                } catch (Exception t) {
                    BEANS.get(ExceptionHandler.class).handle(t);
                }
            } else if (e.getPropertyName().equals(PROP_SELECTION_RANGE)) {
                try {
                    interceptSelectionRangeChanged((Range) e.getNewValue());
                } catch (Exception t) {
                    BEANS.get(ExceptionHandler.class).handle(t);
                }
            } else if (e.getPropertyName().equals(PROP_SELECTED_ACTIVITY)) {
                Activity<RI, AI> cell = (Activity<RI, AI>) e.getNewValue();
                if (cell != null) {
                    try {
                        interceptActivitySelected(cell);
                    } catch (Exception t) {
                        BEANS.get(ExceptionHandler.class).handle(t);
                    }
                }
            }
        }
    });
}
Also used : PropertyChangeListener(java.beans.PropertyChangeListener) ExceptionHandler(org.eclipse.scout.rt.platform.exception.ExceptionHandler) EventListenerList(org.eclipse.scout.rt.platform.util.EventListenerList) ArrayList(java.util.ArrayList) EventListenerList(org.eclipse.scout.rt.platform.util.EventListenerList) List(java.util.List) IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) PropertyChangeEvent(java.beans.PropertyChangeEvent) IPlannerContextMenu(org.eclipse.scout.rt.client.ui.action.menu.root.IPlannerContextMenu) ContributionComposite(org.eclipse.scout.rt.shared.extension.ContributionComposite) OrderedCollection(org.eclipse.scout.rt.platform.util.collection.OrderedCollection) Range(org.eclipse.scout.rt.platform.util.Range) PlannerContextMenu(org.eclipse.scout.rt.client.ui.action.menu.root.internal.PlannerContextMenu) IPlannerContextMenu(org.eclipse.scout.rt.client.ui.action.menu.root.IPlannerContextMenu)

Example 10 with IMenu

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

the class TableEventBuffer method identicalEventHashCode.

/**
 * Computes a hash value for identical table events. This method must be kept in sync with
 * {@link #isIdenticalEvent(TableEvent, TableEvent)}.
 */
protected int identicalEventHashCode(TableEvent event) {
    final int prime = 31;
    int result = 1;
    result = prime * result + event.getType();
    result = prime * result + (event.isConsumed() ? 1231 : 1237);
    result = prime * result + (event.isSortInMemoryAllowed() ? 1231 : 1237);
    List<ITableRow> rows = event.getRows();
    result = prime * result + ((rows == null) ? 0 : rows.hashCode());
    List<IMenu> popupMenus = event.getPopupMenus();
    result = prime * result + ((popupMenus == null) ? 0 : popupMenus.hashCode());
    TransferObject dragObject = event.getDragObject();
    result = prime * result + ((dragObject == null) ? 0 : dragObject.hashCode());
    TransferObject dropObject = event.getDropObject();
    result = prime * result + ((dropObject == null) ? 0 : dropObject.hashCode());
    TransferObject copyObject = event.getCopyObject();
    result = prime * result + ((copyObject == null) ? 0 : copyObject.hashCode());
    Collection<IColumn<?>> columns = event.getColumns();
    result = prime * result + ((columns == null) ? 0 : columns.hashCode());
    return result;
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) TransferObject(org.eclipse.scout.rt.client.ui.dnd.TransferObject) IColumn(org.eclipse.scout.rt.client.ui.basic.table.columns.IColumn)

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