Search in sources :

Example 16 with IMenu

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

the class AbstractImageField method initConfig.

@Override
protected void initConfig() {
    m_uiFacade = BEANS.get(ModelContextProxy.class).newProxy(new P_UIFacade(), ModelContext.copyCurrent());
    super.initConfig();
    setImageTransform(new AffineTransformSpec());
    setAutoFit(getConfiguredAutoFit());
    setImageId(getConfiguredImageId());
    setPanDelta(getConfiguredPanDelta());
    setRotateDelta(getConfiguredRotateDelta());
    setZoomDelta(getConfiguredZoomDelta());
    setDragType(getConfiguredDragType());
    setDropType(getConfiguredDropType());
    setDropMaximumSize(getConfiguredDropMaximumSize());
    setScrollBarEnabled(getConfiguredScrollBarEnabled());
    // 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);
    injectMenusInternal(menus);
    new MoveActionNodesHandler<IMenu>(menus).moveModelObjects();
    m_contextMenu = new FormFieldContextMenu<IImageField>(this, menus.getOrderedList());
    m_contextMenu.setContainerInternal(this);
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) OrderedCollection(org.eclipse.scout.rt.platform.util.collection.OrderedCollection) AffineTransformSpec(org.eclipse.scout.rt.shared.data.basic.AffineTransformSpec)

Example 17 with IMenu

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

the class JsonMenuTest method testInitialVSPropertyChange.

@Test
public void testInitialVSPropertyChange() throws Exception {
    Menu menu = new Menu();
    menu.setText("foo");
    // when adapter has been created we have the complete adapter in the adapter-data section of the JSON response
    JsonMenu<IMenu> menuAdapter = m_uiSession.getOrCreateJsonAdapter(menu, null);
    JSONObject json = m_uiSession.currentJsonResponse().toJson();
    JSONObject adpaterData = JsonTestUtility.getAdapterData(json, menuAdapter.getId());
    assertEquals("foo", adpaterData.getString("text"));
    // Simulate processRequest, which resets the current JSON response. Otherwise the property change event
    // would be ignored because a new adapter exists in the current JSON response.
    JsonTestUtility.endRequest(m_uiSession);
    // when a property change occurs we assert an event is created for the adapter to update, containing only the changed property
    menu.setText("bar");
    json = m_uiSession.currentJsonResponse().toJson();
    JSONObject event = JsonTestUtility.getPropertyChange(json, 0);
    assertEquals("bar", event.getString("text"));
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) JSONObject(org.json.JSONObject) IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) AbstractMenu(org.eclipse.scout.rt.client.ui.action.menu.AbstractMenu) NonDisplayableMenu(org.eclipse.scout.rt.ui.html.json.menu.fixtures.MenuWithNonDisplayableChild.NonDisplayableMenu) DisplayableMenu(org.eclipse.scout.rt.ui.html.json.menu.fixtures.MenuWithNonDisplayableChild.DisplayableMenu) Menu(org.eclipse.scout.rt.ui.html.json.menu.fixtures.Menu) Test(org.junit.Test)

Example 18 with IMenu

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

the class MoveActionNodeTest method testMoveRootMenuToSubMenu.

@Test
public void testMoveRootMenuToSubMenu() {
    BEANS.get(IExtensionRegistry.class).registerMove(Top1Menu.class, 15d, Top2Menu.class);
    TestMenus menus = new TestMenus();
    List<IMenu> topLevelMenu = menus.getMenus();
    assertMenus(topLevelMenu, Top2Menu.class);
    assertMenus(topLevelMenu.get(0).getChildActions(), Sub1Top2Menu.class, Top1Menu.class, Sub2Top2Menu.class);
    assertMenus(topLevelMenu.get(0).getChildActions().get(1).getChildActions(), Sub1Top1Menu.class, Sub2Top1Menu.class);
    assertMenus(topLevelMenu.get(0).getChildActions().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 19 with IMenu

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

the class MoveActionNodeTest method doTestMoveSubMenuToRoot.

protected void doTestMoveSubMenuToRoot() {
    TestMenus menus = new TestMenus();
    List<IMenu> topLevelMenu = menus.getMenus();
    assertMenus(topLevelMenu, Top1Menu.class, Sub1Top1Menu.class, Top2Menu.class);
    assertMenus(topLevelMenu.get(0).getChildActions(), Sub2Top1Menu.class);
    assertMenus(topLevelMenu.get(1).getChildActions(), Sub1Sub1Top1Menu.class);
    assertMenus(topLevelMenu.get(2).getChildActions(), Sub1Top2Menu.class, Sub2Top2Menu.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)

Example 20 with IMenu

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

the class JsonStatusMenuMapping method initJsonProperties.

@Override
protected void initJsonProperties(T model) {
    super.initJsonProperties(model);
    putJsonProperty(new JsonProperty<T>(IStatusMenuMapping.PROP_CODES, model) {

        @Override
        protected List<Integer> modelValue() {
            return getModel().getCodes();
        }

        @Override
        @SuppressWarnings("unchecked")
        public Object prepareValueForToJson(Object value) {
            // Do NOT remove the cast! It is required to use the correct constructor.
            return new JSONArray((List<Integer>) value);
        }
    });
    putJsonProperty(new JsonProperty<T>(IStatusMenuMapping.PROP_SEVERITIES, model) {

        @Override
        protected List<Integer> modelValue() {
            return getModel().getSeverities();
        }

        @Override
        @SuppressWarnings("unchecked")
        public Object prepareValueForToJson(Object value) {
            // Do NOT remove the cast! It is required to use the correct constructor.
            return new JSONArray((List<Integer>) value);
        }
    });
    putJsonProperty(new JsonProperty<T>(IStatusMenuMapping.PROP_MENU, model) {

        @Override
        protected IMenu modelValue() {
            return getModel().getMenu();
        }

        @Override
        public Object prepareValueForToJson(Object value) {
            // The menu is managed by the parent -> don't create a new adapter but use the one from the parent instead
            IJsonAdapter adapter = getParent().getAdapter((IMenu) value, new DisplayableActionFilter<>());
            if (adapter == null) {
                return null;
            }
            return adapter.getId();
        }
    });
}
Also used : IMenu(org.eclipse.scout.rt.client.ui.action.menu.IMenu) JSONArray(org.json.JSONArray) List(java.util.List) IJsonAdapter(org.eclipse.scout.rt.ui.html.json.IJsonAdapter) DisplayableActionFilter(org.eclipse.scout.rt.ui.html.json.action.DisplayableActionFilter)

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