import javax.swing.JRadioButtonMenuItem;
import javax.swing.JTabbedPane;
import javax.swing.KeyStroke;
-import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;
protected JMenuItem showTranslation = new JMenuItem();
+ protected JMenuItem showReverse = new JMenuItem();
+
+ protected JMenuItem showReverseComplement = new JMenuItem();
+
protected JMenu showProducts = new JMenu();
+ protected JMenuItem runGroovy = new JMenuItem();
+
protected JMenuItem rnahelicesColour = new JMenuItem();
protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
@Override
public void mousePressed(MouseEvent evt)
{
- if (evt.isControlDown()
- || SwingUtilities.isRightMouseButton(evt))
+ if (evt.isPopupTrigger())
{
radioItem.removeActionListener(radioItem.getActionListeners()[0]);
private void jbInit() throws Exception
{
JMenuItem saveAs = new JMenuItem(
- MessageManager.getString("action.save_as") + "...");
+ MessageManager.getString("action.save_as"));
ActionListener al = new ActionListener()
{
@Override
MessageManager.getString("action.calculate"));
webService.setText(MessageManager.getString("action.web_service"));
JMenuItem selectAllSequenceMenuItem = new JMenuItem(
- MessageManager
- .getString("action.select_all"));
+ MessageManager.getString("action.select_all"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit
.getDefaultToolkit().getMenuShortcutKeyMask(), false);
al = new ActionListener()
}
});
- JMenuItem removeRedundancyMenuItem = new JMenuItem(MessageManager
- .getString("action.remove_redundancy").concat("..."));
+ JMenuItem removeRedundancyMenuItem = new JMenuItem(
+ MessageManager.getString("action.remove_redundancy"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit
.getDefaultToolkit().getMenuShortcutKeyMask(), false);
al = new ActionListener()
});
JMenuItem printMenuItem = new JMenuItem(
- MessageManager.getString("action.print") + "...");
+ MessageManager.getString("action.print"));
keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P, Toolkit
.getDefaultToolkit().getMenuShortcutKeyMask(), false);
al = new ActionListener()
MessageManager.getString("label.show_last"));
buttonGroup.add(showAutoFirst);
buttonGroup.add(showAutoLast);
- showAutoFirst.setSelected(Cache.getDefault(
- Preferences.SHOW_AUTOCALC_ABOVE, false));
+ final boolean autoFirst = Cache.getDefault(
+ Preferences.SHOW_AUTOCALC_ABOVE, false);
+ showAutoFirst.setSelected(autoFirst);
+ setShowAutoCalculatedAbove(autoFirst);
showAutoFirst.addActionListener(new ActionListener()
{
@Override
showTranslation_actionPerformed(e);
}
});
+ showReverse.setText(MessageManager.getString("label.reverse"));
+ showReverse.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ showReverse_actionPerformed(false);
+ }
+ });
+ showReverseComplement.setText(MessageManager
+ .getString("label.reverse_complement"));
+ showReverseComplement.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ showReverse_actionPerformed(true);
+ }
+ });
JMenuItem extractScores = new JMenuItem(
- MessageManager.getString("label.extract_scores") + "...");
+ MessageManager.getString("label.extract_scores"));
extractScores.addActionListener(new ActionListener()
{
@Override
// for show products actions see AlignFrame.canShowProducts
showProducts.setText(MessageManager.getString("label.get_cross_refs"));
+ runGroovy.setText(MessageManager.getString("label.run_groovy"));
+ runGroovy.setToolTipText(MessageManager.getString("label.run_groovy_tip"));
+ runGroovy.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ runGroovy_actionPerformed();
+ }
+ });
+
JMenuItem openFeatureSettings = new JMenuItem(
- MessageManager.getString("label.feature_settings"));
+ MessageManager.getString("action.feature_settings"));
openFeatureSettings.addActionListener(new ActionListener()
{
@Override
JMenuItem invertColSel = new JMenuItem(
MessageManager.getString("action.invert_column_selection"));
- keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
- Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
+ keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit
+ .getDefaultToolkit().getMenuShortcutKeyMask()
| KeyEvent.ALT_MASK, false);
al = new ActionListener()
{
+ MessageManager.getString("label.rename_tab_eXpand_reGroup")
+ "</i></html>");
JMenuItem textColour = new JMenuItem(
- MessageManager.getString("label.colour_text") + "...");
+ MessageManager.getString("action.set_text_colour"));
textColour.addActionListener(new ActionListener()
{
@Override
addMenuActionAndAccelerator(keyStroke, expandViews, al);
JMenuItem pageSetup = new JMenuItem(
- MessageManager.getString("action.page_setup") + "...");
+ MessageManager.getString("action.page_setup"));
pageSetup.addActionListener(new ActionListener()
{
@Override
}
});
JMenuItem alignmentProperties = new JMenuItem(
- MessageManager.getString("label.alignment_props") + "...");
+ MessageManager.getString("label.alignment_props"));
alignmentProperties.addActionListener(new ActionListener()
{
@Override
alignFrameMenuBar.add(colourMenu);
alignFrameMenuBar.add(calculateMenu);
alignFrameMenuBar.add(webService);
+
fileMenu.add(fetchSequence);
fileMenu.add(addSequenceMenu);
fileMenu.add(reload);
fileMenu.add(associatedData);
fileMenu.addSeparator();
fileMenu.add(closeMenuItem);
+
+ pasteMenu.add(pasteNew);
+ pasteMenu.add(pasteThis);
editMenu.add(undoMenuItem);
editMenu.add(redoMenuItem);
editMenu.add(cut);
// editMenu.addSeparator();
editMenu.add(padGapsMenuitem);
+ showMenu.add(showAllColumns);
+ showMenu.add(showAllSeqs);
+ showMenu.add(showAllhidden);
+ hideMenu.add(hideSelColumns);
+ hideMenu.add(hideSelSequences);
+ hideMenu.add(hideAllSelection);
+ hideMenu.add(hideAllButSelection);
viewMenu.add(newView);
viewMenu.add(expandViews);
viewMenu.add(gatherViews);
colourMenu.add(modifyPID);
colourMenu.add(annotationColour);
colourMenu.add(rnahelicesColour);
+
+ sort.add(sortIDMenuItem);
+ sort.add(sortLengthMenuItem);
+ sort.add(sortGroupMenuItem);
+ sort.add(sortPairwiseMenuItem);
+ sort.add(sortByTreeMenu);
calculateMenu.add(sort);
calculateMenu.add(calculateTree);
calculateMenu.addSeparator();
calculateMenu.add(PCAMenuItem);
calculateMenu.addSeparator();
calculateMenu.add(showTranslation);
+ calculateMenu.add(showReverse);
+ calculateMenu.add(showReverseComplement);
calculateMenu.add(showProducts);
calculateMenu.add(autoCalculate);
calculateMenu.add(sortByTree);
calculateMenu.addSeparator();
+ calculateMenu.add(expandAlignment);
calculateMenu.add(extractScores);
+ calculateMenu.addSeparator();
+ calculateMenu.add(runGroovy);
+
webServiceNoServices = new JMenuItem(
MessageManager.getString("label.no_services"));
webService.add(webServiceNoServices);
- pasteMenu.add(pasteNew);
- pasteMenu.add(pasteThis);
- sort.add(sortIDMenuItem);
- sort.add(sortLengthMenuItem);
- sort.add(sortGroupMenuItem);
- sort.add(sortPairwiseMenuItem);
- sort.add(sortByTreeMenu);
exportImageMenu.add(htmlMenuItem);
exportImageMenu.add(epsFile);
exportImageMenu.add(createPNG);
this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
statusPanel.add(statusBar, null);
this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
- showMenu.add(showAllColumns);
- showMenu.add(showAllSeqs);
- showMenu.add(showAllhidden);
- hideMenu.add(hideSelColumns);
- hideMenu.add(hideSelSequences);
- hideMenu.add(hideAllSelection);
- hideMenu.add(hideAllButSelection);
formatMenu.add(font);
formatMenu.addSeparator();
selectMenu.add(grpsFromSelection);
selectMenu.add(deleteGroups);
selectMenu.add(annotationColumn);
- calculateMenu.add(expandAlignment);
// TODO - determine if the listenToViewSelections button is needed : see bug
// JAL-574
// selectMenu.addSeparator();
}
/**
+ * Generate the reverse sequence (or reverse complement if the flag is true)
+ * and add it to the alignment
+ *
+ * @param complement
+ */
+ protected void showReverse_actionPerformed(boolean complement)
+ {
+ }
+
+ /**
+ * Try to run script in a Groovy console, having first ensured that this
+ * alignframe is set as currentAlignFrame in Desktop
+ */
+ protected void runGroovy_actionPerformed()
+ {
+
+ }
+ /**
* Adds the given action listener and key accelerator to the given menu item.
* Also saves in a lookup table to support lookup of action by key stroke.
*
{
}
+
protected void loadTreeMenuItem_actionPerformed(ActionEvent e)
{
return annotationSortOrder;
}
- protected void setAnnotationSortOrder(SequenceAnnotationOrder annotationSortOrder)
+ protected void setAnnotationSortOrder(
+ SequenceAnnotationOrder annotationSortOrder)
{
this.annotationSortOrder = annotationSortOrder;
}
return this.splitFrame;
}
- protected void showComplement_actionPerformed(boolean state)
+ protected void showComplement_actionPerformed(boolean complement)
{
}
}