()
| 506 | |
| 507 | |
| 508 | private void buildMenuBar() { |
| 509 | JMenuBar menubar = new JMenuBar(); |
| 510 | final JMenu fileMenu = buildFileMenu(); |
| 511 | fileMenu.addMenuListener(new StubMenuListener() { |
| 512 | @Override |
| 513 | public void menuSelected(MenuEvent e) { |
| 514 | List<Component> components = Arrays.asList(fileMenu.getMenuComponents()); |
| 515 | if (!components.contains(sketchbookMenu)) { |
| 516 | fileMenu.insert(sketchbookMenu, 3); |
| 517 | } |
| 518 | if (!components.contains(examplesMenu)) { |
| 519 | fileMenu.insert(examplesMenu, 4); |
| 520 | } |
| 521 | fileMenu.revalidate(); |
| 522 | validate(); |
| 523 | } |
| 524 | }); |
| 525 | menubar.add(fileMenu); |
| 526 | |
| 527 | menubar.add(buildEditMenu()); |
| 528 | |
| 529 | final JMenu sketchMenu = new JMenu(tr("Sketch")); |
| 530 | sketchMenu.setMnemonic(KeyEvent.VK_S); |
| 531 | sketchMenu.addMenuListener(new StubMenuListener() { |
| 532 | |
| 533 | @Override |
| 534 | public void menuSelected(MenuEvent e) { |
| 535 | buildSketchMenu(sketchMenu); |
| 536 | sketchMenu.revalidate(); |
| 537 | validate(); |
| 538 | } |
| 539 | }); |
| 540 | buildSketchMenu(sketchMenu); |
| 541 | menubar.add(sketchMenu); |
| 542 | |
| 543 | final JMenu toolsMenu = buildToolsMenu(); |
| 544 | toolsMenu.addMenuListener(new StubMenuListener() { |
| 545 | @Override |
| 546 | public void menuSelected(MenuEvent e) { |
| 547 | List<Component> components = Arrays.asList(toolsMenu.getMenuComponents()); |
| 548 | int offset = 0; |
| 549 | for (JMenu menu : base.getBoardsCustomMenus()) { |
| 550 | if (!components.contains(menu)) { |
| 551 | toolsMenu.insert(menu, numTools + offset); |
| 552 | offset++; |
| 553 | } |
| 554 | } |
| 555 | if (!components.contains(portMenu)) { |
| 556 | toolsMenu.insert(portMenu, numTools + offset); |
| 557 | } |
| 558 | programmersMenu.removeAll(); |
| 559 | base.getProgrammerMenus().forEach(programmersMenu::add); |
| 560 | toolsMenu.revalidate(); |
| 561 | validate(); |
| 562 | } |
| 563 | }); |
| 564 | menubar.add(toolsMenu); |
| 565 |
no test coverage detected