| | | 1 | private void parsePopupMenu(ExtendablePopupMenu parentMenu,↵
|
| | | 2 | Element parentElement) {↵
|
| | | 3 | Iterator it = parentElement.getChildren().listIterator();↵
|
1 | while (it.hasNext()) {↵ | | 4 | while (it.hasNext()) {↵
|
2 | Element menuElement = (Element) it.next();↵ | | 5 | Element menuElement = (Element) it.next();↵
|
|
3 | if (menuElement.getName().equals(MenuXMLDecoder.MENU)) {↵ | | 6 | if (menuElement.getName().equals(MenuXMLDecoder.MENU)) {↵
|
|
4 | String menuId = menuElement↵ | | 7 | String menuId = menuElement↵
|
5 | .getAttributeValue(MenuXMLDecoder.ID);↵ | | 8 | .getAttributeValue(MenuXMLDecoder.ID);↵
|
6 | String menuName = mediator.getString("menu", "mainframe",↵ | | 9 | String menuName = mediator.getString("menu", "mainframe",↵
|
7 | menuId);↵ | | 10 | menuId);↵
|
|
8 | ExtendableMenu menu = new ExtendableMenu(menuId, menuName);↵ | | 11 | ExtendableMenu menu = new ExtendableMenu(menuId, menuName);↵
|
9 | parseMenu(menu, menuElement);↵ | | 12 | parseMenu(menu, menuElement);↵
|
10 | parentMenu.add(menu);↵ | | 13 | parentMenu.add(menu);↵
|
11 | } else if (menuElement.getName().equals(MenuXMLDecoder.MENUITEM)) {↵ | | 14 | } else if (menuElement.getName().equals(MenuXMLDecoder.MENUITEM)) {↵
|
12 | String id = menuElement.getAttributeValue(MenuXMLDecoder.ID);↵ | | 15 | String id = menuElement.getAttributeValue(MenuXMLDecoder.ID);↵
|
13 | AbstractColumbaAction action = getAction(id, mediator);↵ | | 16 | AbstractColumbaAction action = getAction(id, mediator);↵
|
14 | if (action == null)↵ | | 17 | if (action == null)↵
|
15 | continue;↵ | | 18 | continue;↵
|
|
16 | CMenuItem menuItem = new CMenuItem(action);↵ | | 19 | CMenuItem menuItem = new CMenuItem(action);↵
|
17 | menuItem.addMouseListener(mediator.getMouseTooltipHandler());↵ | | 20 | menuItem.addMouseListener(mediator.getMouseTooltipHandler());↵
|
18 | parentMenu.add(menuItem);↵ | | 21 | parentMenu.add(menuItem);↵
|
19 | } else if (menuElement.getName().equals(↵ | | 22 | } else if (menuElement.getName().equals(↵
|
20 | MenuXMLDecoder.CHECKBOXMENUITEM)) {↵ | | 23 | MenuXMLDecoder.CHECKBOXMENUITEM)) {↵
|
21 | String id = menuElement.getAttributeValue(MenuXMLDecoder.ID);↵ | | 24 | String id = menuElement.getAttributeValue(MenuXMLDecoder.ID);↵
|
22 | AbstractSelectableAction action = (AbstractSelectableAction) getAction(↵ | | 25 | AbstractSelectableAction action = (AbstractSelectableAction) getAction(↵
|
23 | id, mediator);↵ | | 26 | id, mediator);↵
|
24 | if (action == null)↵ | | 27 | if (action == null)↵
|
25 | continue;↵ | | 28 | continue;↵
|
|
26 | CCheckBoxMenuItem menuItem = new CCheckBoxMenuItem(action);↵ | | 29 | CCheckBoxMenuItem menuItem = new CCheckBoxMenuItem(action);↵
|
27 | menuItem.addMouseListener(mediator.getMouseTooltipHandler());↵ | | 30 | menuItem.addMouseListener(mediator.getMouseTooltipHandler());↵
|
28 | parentMenu.add(menuItem);↵ | | 31 | parentMenu.add(menuItem);↵
|
29 | } else if (menuElement.getName().equals(↵ | | 32 | } else if (menuElement.getName().equals(↵
|
30 | MenuXMLDecoder.RADIOBUTTONMENUITEM)) {↵ | | 33 | MenuXMLDecoder.RADIOBUTTONMENUITEM)) {↵
|
31 | String id = menuElement.getAttributeValue(MenuXMLDecoder.ID);↵ | | 34 | String id = menuElement.getAttributeValue(MenuXMLDecoder.ID);↵
|
32 | AbstractColumbaAction action = getAction(id, mediator);↵ | | 35 | AbstractColumbaAction action = getAction(id, mediator);↵
|
33 | if (action == null)↵ | | 36 | if (action == null)↵
|
34 | continue;↵ | | 37 | continue;↵
|
|
35 | JRadioButtonMenuItem menuItem = new JRadioButtonMenuItem(action);↵ | | 38 | JRadioButtonMenuItem menuItem = new JRadioButtonMenuItem(action);↵
|
36 | menuItem.addMouseListener(mediator.getMouseTooltipHandler());↵ | | 39 | menuItem.addMouseListener(mediator.getMouseTooltipHandler());↵
|
37 | parentMenu.add(menuItem);↵ | | 40 | parentMenu.add(menuItem);↵
|
38 | } else if (menuElement.getName().equals(MenuXMLDecoder.SEPARATOR)) {↵ | | 41 | } else if (menuElement.getName().equals(MenuXMLDecoder.SEPARATOR)) {↵
|
39 | parentMenu.addSeparator();↵ | | 42 | parentMenu.addSeparator();↵
|
40 | } else if (menuElement.getName().equals(MenuXMLDecoder.IMENU)) {↵ | | 43 | } else if (menuElement.getName().equals(MenuXMLDecoder.IMENU)) {↵
|
41 | String id = menuElement.getAttributeValue(MenuXMLDecoder.ID);↵ | | 44 | String id = menuElement.getAttributeValue(MenuXMLDecoder.ID);↵
|
42 | IMenu imenu;↵ | | 45 | IMenu imenu;↵
|
43 | try {↵ | | 46 | try {↵
|
44 | imenu = getIMenu(id, mediator);↵ | | 47 | imenu = getIMenu(id, mediator);↵
|
45 | if (imenu == null)↵ | | 48 | if (imenu == null)↵
|
46 | continue;↵ | | 49 | continue;↵
|
|
47 | parentMenu.add(imenu);↵ | | 50 | parentMenu.add(imenu);↵
|
48 | } catch (Exception e) {↵ | | 51 | } catch (Exception e) {↵
|
49 | LOG.severe(e.getMessage());↵ | | 52 | ↵
|
50 | if (Logging.DEBUG)↵ | | |
|
51 | e.printStackTrace();↵ | | 53 | e.printStackTrace();↵
|
52 | }↵ | | 54 | }↵
|
53 | } else if (menuElement.getName().equals(MenuXMLDecoder.PLACEHOLDER)) {↵ | | 55 | } else if (menuElement.getName().equals(MenuXMLDecoder.PLACEHOLDER)) {↵
|
54 | String id = menuElement.getAttributeValue(MenuXMLDecoder.ID);↵ | | 56 | String id = menuElement.getAttributeValue(MenuXMLDecoder.ID);↵
|
55 | parentMenu.addPlaceholder(id);↵ | | 57 | parentMenu.addPlaceholder(id);↵
|
56 | | | 58 |
|