()
| 709 | |
| 710 | |
| 711 | private JMenu buildToolsMenu() { |
| 712 | toolsMenu = new JMenu(tr("Tools")); |
| 713 | toolsMenu.setMnemonic(KeyEvent.VK_T); |
| 714 | |
| 715 | addInternalTools(toolsMenu); |
| 716 | |
| 717 | JMenuItem item = newJMenuItemShift(tr("Manage Libraries..."), 'I'); |
| 718 | item.addActionListener(e -> base.openLibraryManager("", "")); |
| 719 | toolsMenu.add(item); |
| 720 | |
| 721 | item = newJMenuItemShift(tr("Serial Monitor"), 'M'); |
| 722 | item.addActionListener(e -> handleSerial()); |
| 723 | toolsMenu.add(item); |
| 724 | |
| 725 | item = newJMenuItemShift(tr("Serial Plotter"), 'L'); |
| 726 | item.addActionListener(e -> handlePlotter()); |
| 727 | toolsMenu.add(item); |
| 728 | |
| 729 | addTools(toolsMenu, BaseNoGui.getToolsFolder()); |
| 730 | File sketchbookTools = new File(BaseNoGui.getSketchbookFolder(), "tools"); |
| 731 | addTools(toolsMenu, sketchbookTools); |
| 732 | |
| 733 | toolsMenu.addSeparator(); |
| 734 | |
| 735 | numTools = toolsMenu.getItemCount(); |
| 736 | |
| 737 | // XXX: DAM: these should probably be implemented using the Tools plugin |
| 738 | // API, if possible (i.e. if it supports custom actions, etc.) |
| 739 | |
| 740 | base.getBoardsCustomMenus().stream().forEach(toolsMenu::add); |
| 741 | |
| 742 | if (portMenu == null) |
| 743 | portMenu = new JMenu(tr("Port")); |
| 744 | populatePortMenu(); |
| 745 | toolsMenu.add(portMenu); |
| 746 | MenuScroller.setScrollerFor(portMenu); |
| 747 | item = new JMenuItem(tr("Get Board Info")); |
| 748 | item.addActionListener(e -> handleBoardInfo()); |
| 749 | toolsMenu.add(item); |
| 750 | toolsMenu.addSeparator(); |
| 751 | |
| 752 | base.rebuildProgrammerMenu(); |
| 753 | programmersMenu = new JMenu(tr("Programmer")); |
| 754 | MenuScroller.setScrollerFor(programmersMenu); |
| 755 | base.getProgrammerMenus().stream().forEach(programmersMenu::add); |
| 756 | toolsMenu.add(programmersMenu); |
| 757 | |
| 758 | item = new JMenuItem(tr("Burn Bootloader")); |
| 759 | item.addActionListener(e -> handleBurnBootloader()); |
| 760 | toolsMenu.add(item); |
| 761 | |
| 762 | toolsMenu.addMenuListener(new StubMenuListener() { |
| 763 | public JMenuItem getSelectedItemRecursive(JMenu menu) { |
| 764 | int count = menu.getItemCount(); |
| 765 | for (int i=0; i < count; i++) { |
| 766 | JMenuItem item = menu.getItem(i); |
| 767 | |
| 768 | if ((item instanceof JMenu)) |
no test coverage detected