Search in sources :

Example 11 with WMenu

use of com.github.bordertech.wcomponents.WMenu in project wcomponents by BorderTech.

the class WMenuRenderer_Test method testRenderedWithMargins.

@Test
public void testRenderedWithMargins() throws IOException, SAXException, XpathException {
    WMenu menu = new WMenu();
    menu.add(new WMenuItem(""));
    assertXpathNotExists("//ui:menu/ui:margin", menu);
    Margin margin = new Margin(0);
    menu.setMargin(margin);
    assertXpathNotExists("//ui:menu/ui:margin", menu);
    margin = new Margin(Size.SMALL);
    menu.setMargin(margin);
    assertSchemaMatch(menu);
    assertXpathEvaluatesTo("sm", "//ui:menu/ui:margin/@all", menu);
    assertXpathEvaluatesTo("", "//ui:menu/ui:margin/@north", menu);
    assertXpathEvaluatesTo("", "//ui:menu/ui:margin/@east", menu);
    assertXpathEvaluatesTo("", "//ui:menu/ui:margin/@south", menu);
    assertXpathEvaluatesTo("", "//ui:menu/ui:margin/@west", menu);
    margin = new Margin(Size.SMALL, Size.MEDIUM, Size.LARGE, Size.XL);
    menu.setMargin(margin);
    assertSchemaMatch(menu);
    assertXpathEvaluatesTo("", "//ui:menu/ui:margin/@all", menu);
    assertXpathEvaluatesTo("sm", "//ui:menu/ui:margin/@north", menu);
    assertXpathEvaluatesTo("med", "//ui:menu/ui:margin/@east", menu);
    assertXpathEvaluatesTo("lg", "//ui:menu/ui:margin/@south", menu);
    assertXpathEvaluatesTo("xl", "//ui:menu/ui:margin/@west", menu);
}
Also used : WMenuItem(com.github.bordertech.wcomponents.WMenuItem) WMenu(com.github.bordertech.wcomponents.WMenu) Margin(com.github.bordertech.wcomponents.Margin) Test(org.junit.Test)

Example 12 with WMenu

use of com.github.bordertech.wcomponents.WMenu in project wcomponents by BorderTech.

the class WMenuRenderer_Test method testDoPaint.

@Test
public void testDoPaint() throws IOException, SAXException, XpathException {
    WMenu menu = new WMenu();
    menu.add(new WMenuItem(""));
    assertSchemaMatch(menu);
    assertXpathExists("//ui:menu/@id", menu);
    assertXpathEvaluatesTo(menu.getId(), "//ui:menu/@id", menu);
    assertXpathEvaluatesTo("bar", "//ui:menu/@type", menu);
    assertXpathNotExists("//ui:menu/@disabled", menu);
    assertXpathNotExists("//ui:menu/@selectMode", menu);
    assertXpathExists("//ui:menu/ui:menuitem", menu);
    assertXpathNotExists("//ui:menu/ui:separator", menu);
    menu.addSeparator();
    assertSchemaMatch(menu);
    assertXpathExists("//ui:menu/ui:separator", menu);
    menu.setDisabled(true);
    setFlag(menu, ComponentModel.HIDE_FLAG, true);
    assertSchemaMatch(menu);
    assertXpathEvaluatesTo("true", "//ui:menu/@disabled", menu);
    assertXpathEvaluatesTo("true", "//ui:menu/@hidden", menu);
    menu.setSelectMode(SelectMode.SINGLE);
    assertSchemaMatch(menu);
    assertXpathEvaluatesTo("single", "//ui:menu/@selectMode", menu);
    menu.setSelectMode(SelectMode.MULTIPLE);
    assertSchemaMatch(menu);
    assertXpathEvaluatesTo("multiple", "//ui:menu/@selectMode", menu);
    menu.setRows(1);
    assertSchemaMatch(menu);
    assertXpathEvaluatesTo("1", "//ui:menu/@rows", menu);
    menu = new WMenu(WMenu.MenuType.FLYOUT);
    menu.add(new WMenuItem(""));
    assertSchemaMatch(menu);
    assertXpathEvaluatesTo("flyout", "//ui:menu/@type", menu);
    menu = new WMenu(WMenu.MenuType.TREE);
    menu.add(new WMenuItem(""));
    assertSchemaMatch(menu);
    assertXpathEvaluatesTo("tree", "//ui:menu/@type", menu);
    menu = new WMenu(WMenu.MenuType.COLUMN);
    menu.add(new WMenuItem(""));
    assertSchemaMatch(menu);
    assertXpathEvaluatesTo("column", "//ui:menu/@type", menu);
}
Also used : WMenuItem(com.github.bordertech.wcomponents.WMenuItem) WMenu(com.github.bordertech.wcomponents.WMenu) Test(org.junit.Test)

Example 13 with WMenu

use of com.github.bordertech.wcomponents.WMenu in project wcomponents by BorderTech.

the class WSubMenuRenderer_Test method testOpenTree.

@Test
public void testOpenTree() throws IOException, SAXException, XpathException {
    menu = new WMenu(WMenu.MenuType.TREE);
    subMenu = new WSubMenu("SubMenu");
    menu.add(subMenu);
    subMenu.add(new WMenuItem("Item"));
    subMenu.setOpen(true);
    assertSchemaMatch(menu);
    assertXpathEvaluatesTo("true", "//ui:submenu/@open", menu);
    assertXpathEvaluatesTo("true", "//ui:submenu/@open", menu);
}
Also used : WSubMenu(com.github.bordertech.wcomponents.WSubMenu) WMenuItem(com.github.bordertech.wcomponents.WMenuItem) WMenu(com.github.bordertech.wcomponents.WMenu) Test(org.junit.Test)

Example 14 with WMenu

use of com.github.bordertech.wcomponents.WMenu in project wcomponents by BorderTech.

the class WSubMenuRenderer_Test method before.

@Before
public void before() {
    menu = new WMenu();
    subMenu = new WSubMenu(SUB_MENU_TEXT);
    menu.add(subMenu);
    subMenu.add(new WMenuItem("Item"));
}
Also used : WSubMenu(com.github.bordertech.wcomponents.WSubMenu) WMenuItem(com.github.bordertech.wcomponents.WMenuItem) WMenu(com.github.bordertech.wcomponents.WMenu) Before(org.junit.Before)

Example 15 with WMenu

use of com.github.bordertech.wcomponents.WMenu in project wcomponents by BorderTech.

the class ColumnMenuExample method buildColumnMenu.

/**
 * Builds up a column menu for inclusion in the example.
 *
 * @param selectedMenuText the WText to display the selected menu.
 * @return a column menu for the example.
 */
private WMenu buildColumnMenu(final WText selectedMenuText) {
    WMenu menu = new WMenu(WMenu.MenuType.COLUMN);
    menu.setSelectMode(SelectMode.SINGLE);
    menu.setRows(8);
    StringTreeNode root = getOrgHierarchyTree();
    mapColumnHierarchy(menu, root, selectedMenuText);
    // Demonstrate different menu modes
    getSubMenuByText("Australia", menu).setAccessKey('A');
    getSubMenuByText("NSW", menu).setMode(MenuMode.CLIENT);
    getSubMenuByText("Branch 1", menu).setMode(MenuMode.DYNAMIC);
    getSubMenuByText("VIC", menu).setMode(MenuMode.LAZY);
    WMenuItem itemWithIcon = new WMenuItem("Help");
    itemWithIcon.setAction(new Action() {

        @Override
        public void execute(final ActionEvent event) {
        // do something
        }
    });
    itemWithIcon.setHtmlClass(HtmlClassProperties.ICON_HELP_BEFORE);
    menu.add(itemWithIcon);
    return menu;
}
Also used : Action(com.github.bordertech.wcomponents.Action) WMenuItem(com.github.bordertech.wcomponents.WMenuItem) ActionEvent(com.github.bordertech.wcomponents.ActionEvent) WMenu(com.github.bordertech.wcomponents.WMenu)

Aggregations

WMenu (com.github.bordertech.wcomponents.WMenu)28 WMenuItem (com.github.bordertech.wcomponents.WMenuItem)23 Test (org.junit.Test)16 WSubMenu (com.github.bordertech.wcomponents.WSubMenu)8 Action (com.github.bordertech.wcomponents.Action)4 ActionEvent (com.github.bordertech.wcomponents.ActionEvent)4 WDecoratedLabel (com.github.bordertech.wcomponents.WDecoratedLabel)2 WImage (com.github.bordertech.wcomponents.WImage)2 WMenuItemGroup (com.github.bordertech.wcomponents.WMenuItemGroup)2 WText (com.github.bordertech.wcomponents.WText)2 TreeNode (com.github.bordertech.wcomponents.util.TreeNode)2 Margin (com.github.bordertech.wcomponents.Margin)1 Request (com.github.bordertech.wcomponents.Request)1 TestAction (com.github.bordertech.wcomponents.TestAction)1 WButton (com.github.bordertech.wcomponents.WButton)1 WContainer (com.github.bordertech.wcomponents.WContainer)1 WContent (com.github.bordertech.wcomponents.WContent)1 WContentLink (com.github.bordertech.wcomponents.WContentLink)1 WPanel (com.github.bordertech.wcomponents.WPanel)1 XmlStringBuilder (com.github.bordertech.wcomponents.XmlStringBuilder)1