+
+ @Override
+ protected void selectHighlightedColumns_actionPerformed(
+ ActionEvent actionEvent)
+ {
+ // include key modifier check in case user selects from menu
+ avc.markHighlightedColumns(
+ (actionEvent.getModifiers() & ActionEvent.ALT_MASK) != 0,
+ true,
+ (actionEvent.getModifiers() & (ActionEvent.META_MASK | ActionEvent.CTRL_MASK)) != 0);
+ }
+
+ /**
+ * Rebuilds the Colour menu, including any user-defined colours which have
+ * been loaded either on startup or during the session
+ */
+ public void buildColourMenu()
+ {
+ colourMenu.removeAll();
+
+ colourMenu.add(applyToAllGroups);
+ colourMenu.add(textColour);
+ colourMenu.addSeparator();
+
+ ColourMenuHelper.addMenuItems(colourMenu, this,
+ viewport.getAlignment(), false);
+
+ colourMenu.addSeparator();
+ colourMenu.add(conservationMenuItem);
+ colourMenu.add(modifyConservation);
+ colourMenu.add(abovePIDThreshold);
+ colourMenu.add(modifyPID);
+ colourMenu.add(annotationColour);
+
+ ColourSchemeI colourScheme = viewport.getGlobalColourScheme();
+ String schemeName = colourScheme == null ? null : colourScheme
+ .getSchemeName();
+
+ ColourMenuHelper.setColourSelected(colourMenu, schemeName);
+ }
+
+ /**
+ * Disable inapplicable items in the Select menu when it is clicked
+ */
+ @Override
+ protected void configureSelectMenu()
+ {
+ createGroup.setEnabled(false);
+ unGroup.setEnabled(false);
+ SequenceGroup sg = viewport.getSelectionGroup();
+ if (sg != null)
+ {
+ List<SequenceGroup> groups = viewport.getAlignment().getGroups();
+ createGroup.setEnabled(groups == null || !groups.contains(sg));
+ unGroup.setEnabled(groups != null && groups.contains(sg));
+ }
+ }