*/
package jalview.jbgui;
-import jalview.api.structures.JalviewStructureDisplayI;
-import jalview.gui.ColourMenuHelper.ColourChangeListener;
-import jalview.util.MessageManager;
-
import java.awt.BorderLayout;
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;
+import jalview.api.structures.JalviewStructureDisplayI;
+import jalview.gui.ColourMenuHelper.ColourChangeListener;
+import jalview.util.ImageMaker.TYPE;
+import jalview.util.MessageManager;
+
+@SuppressWarnings("serial")
public abstract class GStructureViewer extends JInternalFrame
implements JalviewStructureDisplayI, ColourChangeListener
{
protected JMenuItem alignStructs;
+ protected JCheckBoxMenuItem showAlignmentOnly;
+
+ protected JCheckBoxMenuItem hideHiddenRegions;
+
protected JMenuItem fitToWindow;
protected JRadioButtonMenuItem seqColour;
private void jbInit() throws Exception
{
+
+ setName("jalview-structureviewer");
+
JMenuBar menuBar = new JMenuBar();
this.setJMenuBar(menuBar);
@Override
public void actionPerformed(ActionEvent actionEvent)
{
- png_actionPerformed();
+ makePDBImage(TYPE.PNG);
}
});
@Override
public void actionPerformed(ActionEvent actionEvent)
{
- eps_actionPerformed();
+ makePDBImage(TYPE.EPS);
}
});
@Override
public void actionPerformed(ActionEvent actionEvent)
{
- fitToWindow_actionPerformed();
+ getBinding().focusView();
}
});
JMenu helpMenu = new JMenu();
helpMenu.setText(MessageManager.getString("action.help"));
helpItem = new JMenuItem();
- helpItem.setText(MessageManager.getString("label.jmol_help"));
helpItem.addActionListener(new ActionListener()
{
@Override
protected void fitToWindow_actionPerformed()
{
+ getBinding().focusView();
}
protected void highlightSelection_actionPerformed()
}
- public void png_actionPerformed()
- {
-
- }
-
- public void eps_actionPerformed()
+ public void makePDBImage(TYPE imageType)
{
}
{
}
+
+ /**
+ * Saves the unselected entries in the 'View Chain' menu into a list. Entries
+ * are formatted as "pdbid:chainid". Unselected chains should be hidden in the
+ * structure display.
+ */
+ protected void setChainsToHide()
+ {
+ 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().split(" ")[0]);
+ }
+ }
+ }
+ getBinding().setChainsToHide(chains);
+ }
}