void windowMenu_menuSelected(MenuEvent e) { // <<TODO:MAINTAINABILITY>> This algorithm is not robust. It assumes // the Window // menu has exactly one "regular" menu item (newWindowMenuItem). [Jon // Aquino] if (windowMenu.getItemCount() > 0 && windowMenu.getItem(0) != null && windowMenu .getItem(0) .getText() .equals(AbstractPlugIn.createName(CloneWindowPlugIn.class))) { JMenuItem newWindowMenuItem = windowMenu.getItem(0); windowMenu.removeAll(); windowMenu.add(newWindowMenuItem); windowMenu.addSeparator(); } else { // ezLink doesn't have a Clone Window menu [Jon Aquino] windowMenu.removeAll(); } // final TaskComponent[] frames = (TaskComponent[]) desktopPane.getAllFrames(); final JInternalFrame[] frames = desktopPane.getAllFrames(); for (int i = 0; i < frames.length; i++) { JMenuItem menuItem = new JMenuItem(); // Increase truncation threshold from 20 to 40, for eziLink [Jon // Aquino] menuItem.setText(GUIUtil.truncateString(frames[i].getTitle(), 40)); associate(menuItem, frames[i]); windowMenu.add(menuItem); } if (windowMenu.getItemCount() == 0) { // For ezLink [Jon Aquino] windowMenu.add(new JMenuItem("(No Windows)")); } }
public void adjustListMenuBar() { JMenuItem menuItem; Action act; String itemLabel; boolean enableState; boolean inEditState; boolean allowAdds; ICFInternetTopProjectObj selectedObj = getSwingFocusAsTopProject(); CFJPanel.PanelMode mode = getPanelMode(); if (mode == CFJPanel.PanelMode.Edit) { inEditState = true; if (getSwingContainer() != null) { allowAdds = true; } else { allowAdds = false; } } else { inEditState = false; allowAdds = false; } if (selectedObj == null) { enableState = false; } else { enableState = true; } if (actionViewSelected != null) { actionViewSelected.setEnabled(enableState); } if (actionEditSelected != null) { actionEditSelected.setEnabled(inEditState && enableState); } if (actionDeleteSelected != null) { actionDeleteSelected.setEnabled(inEditState && enableState); } if (actionAddTopProject != null) { actionAddTopProject.setEnabled(allowAdds); } if (menuAdd != null) { menuAdd.setEnabled(allowAdds); } if (menuSelected != null) { menuSelected.setEnabled(enableState); int itemCount = menuSelected.getItemCount(); for (int itemIdx = 0; itemIdx < itemCount; itemIdx++) { menuItem = menuSelected.getItem(itemIdx); act = menuItem.getAction(); if (act != null) { if (act == actionViewSelected) { menuItem.setEnabled(enableState); } else if (act == actionEditSelected) { menuItem.setEnabled(inEditState && enableState); } else if (act == actionDeleteSelected) { menuItem.setEnabled(inEditState && enableState); } } } } }
public void adjustFinderMenuBar() { JMenuItem menuItem; Action act; String itemLabel; ICFSecurityServiceTypeObj selectedObj = getSwingFocusAsServiceType(); boolean enableState; if (selectedObj == null) { enableState = false; } else { enableState = true; } if (actionViewSelected != null) { actionViewSelected.setEnabled(enableState); } if (actionEditSelected != null) { actionEditSelected.setEnabled(enableState); } if (actionDeleteSelected != null) { actionDeleteSelected.setEnabled(enableState); } if (actionAddServiceType != null) { actionAddServiceType.setEnabled(true); } if (menuFile != null) { int itemCount = menuFile.getItemCount(); for (int itemIdx = 0; itemIdx < itemCount; itemIdx++) { menuItem = menuFile.getItem(itemIdx); act = menuItem.getAction(); if (act != null) { if (act == actionViewSelected) { menuItem.setEnabled(enableState); } else if (act == actionEditSelected) { menuItem.setEnabled(enableState); } else if (act == actionDeleteSelected) { menuItem.setEnabled(enableState); } else if (act == actionAddServiceType) { menuItem.setEnabled(true); } } } } }
/** * Fired by a view when the figure seleciton changes. Since Commands and Tools are Actions and * they are registered to hear these events, they will handle themselves. So selection sensitive * menuitems will update their own states. * * @see DrawingEditor */ public void figureSelectionChanged(DrawingView view) { JMenuBar mb = getJMenuBar(); CommandMenu editMenu = (CommandMenu) mb.getMenu(EDIT_MENU); // make sure it does exist if (editMenu != null) { editMenu.checkEnabled(); } CommandMenu alignmentMenu = (CommandMenu) mb.getMenu(ALIGNMENT_MENU); // make sure it does exist if (alignmentMenu != null) { alignmentMenu.checkEnabled(); } JMenu attributeMenu = mb.getMenu(ATTRIBUTES_MENU); // make sure it does exist if (attributeMenu != null) { for (int i = 0; i < attributeMenu.getItemCount(); i++) { JMenuItem currentMenu = attributeMenu.getItem(i); if (currentMenu instanceof CommandMenu) { ((CommandMenu) currentMenu).checkEnabled(); } } } }
/** * Returns a menu with items that control this track. * * @param trackerPanel the tracker panel * @return a menu */ public JMenu getMenu(TrackerPanel trackerPanel) { if (inspectorItem == null) { // create the model inspector item inspectorItem = new JMenuItem(); inspectorItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { positionInspector(); getInspector().setVisible(true); } }); // create the useDefaultRefFrameItem item useDefaultRefFrameItem = new JCheckBoxMenuItem(); useDefaultRefFrameItem.setSelected(!useDefaultReferenceFrame); useDefaultRefFrameItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { setUseDefaultReferenceFrame(!useDefaultRefFrameItem.isSelected()); if (ParticleModel.this.trackerPanel.getCoords() instanceof ReferenceFrame) { lastValidFrame = -1; refreshSteps(); } } }); } inspectorItem.setText( TrackerRes.getString("ParticleModel.MenuItem.InspectModel")); // $NON-NLS-1$ useDefaultRefFrameItem.setText( TrackerRes.getString("ParticleModel.MenuItem.UseDefaultReferenceFrame")); // $NON-NLS-1$ // assemble the menu JMenu menu = super.getMenu(trackerPanel); // remove unwanted menu items and separators menu.remove(autotrackItem); menu.remove(deleteStepItem); menu.remove(clearStepsItem); menu.remove(lockedItem); menu.remove(autoAdvanceItem); menu.remove(markByDefaultItem); menu.insert(inspectorItem, 0); if (menu.getItemCount() > 1) menu.insertSeparator(1); // // find visible item and insert useDefaultRefFrameItem after it // for (int i=0; i<menu.getMenuComponentCount(); i++) { // if (menu.getMenuComponent(i)==visibleItem) { // menu.insert(useDefaultRefFrameItem, i+1); // break; // } // } // eliminate any double separators Object prevItem = inspectorItem; int n = menu.getItemCount(); for (int j = 1; j < n; j++) { Object item = menu.getItem(j); if (item == null && prevItem == null) { // found extra separator menu.remove(j - 1); j = j - 1; n = n - 1; } prevItem = item; } return menu; }