import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.JCheckBoxMenuItem;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JPanel;
import javax.swing.JRadioButtonMenuItem;
-public abstract class GStructureViewer extends JInternalFrame implements
- JalviewStructureDisplayI, ColourChangeListener
+public abstract class GStructureViewer extends JInternalFrame
+ implements JalviewStructureDisplayI, ColourChangeListener
{
// private AAStructureBindingModel bindingModel;
protected JMenuItem alignStructs;
+ protected JCheckBoxMenuItem showAlignmentOnly;
+
+ protected JCheckBoxMenuItem hideHiddenRegions;
+
protected JMenuItem fitToWindow;
protected JRadioButtonMenuItem seqColour;
fileMenu.setText(MessageManager.getString("action.file"));
savemenu = new JMenu();
- savemenu.setActionCommand(MessageManager.getString("action.save_image"));
+ savemenu.setActionCommand(
+ MessageManager.getString("action.save_image"));
savemenu.setText(MessageManager.getString("action.save_as"));
JMenuItem pdbFile = new JMenuItem();
}
});
alignStructs = new JMenuItem();
- alignStructs
- .setText(MessageManager.getString("label.align_structures"));
+ alignStructs.setText(
+ MessageManager.getString("label.superpose_structures"));
alignStructs.addActionListener(new ActionListener()
{
@Override
{
}
- protected void alignStructs_actionPerformed(ActionEvent actionEvent)
- {
- }
+ protected abstract String alignStructs_actionPerformed(
+ ActionEvent actionEvent);
public void pdbFile_actionPerformed(ActionEvent actionEvent)
{
{
}
+
+ /**
+ * Saves the selected entries in the 'View Chain' menu into a list. Entries are
+ * formatted as "pdbid:chainid". Only the selected chains should be drawn in the
+ * structure display.
+ */
+ protected void setSelectedChains()
+ {
+ List<String> chains = new ArrayList<>();
+ for (int i = 0; i < chainMenu.getItemCount(); i++)
+ {
+ JMenuItem menuItem = chainMenu.getItem(i);
+ if (menuItem instanceof JCheckBoxMenuItem)
+ {
+ JCheckBoxMenuItem item = (JCheckBoxMenuItem) menuItem;
+ if (item.isSelected())
+ {
+ chains.add(item.getText());
+ }
+ }
+ }
+ getBinding().setChainsToShow(chains);
+ }
}