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);
}
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;
}
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);
}
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);
}
}
}
}
});
}
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;
}
Aggregations