*/
package jalview.jbgui;
+import jalview.api.structures.JalviewStructureDisplayI;
+import jalview.gui.AlignmentPanel;
import jalview.util.MessageManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.util.ArrayList;
+import java.util.Vector;
import javax.swing.ButtonGroup;
import javax.swing.JInternalFrame;
import javax.swing.JMenuItem;
import javax.swing.JRadioButtonMenuItem;
-public class GStructureViewer extends JInternalFrame
+public abstract class GStructureViewer extends JInternalFrame implements
+ JalviewStructureDisplayI
{
+ // private AAStructureBindingModel bindingModel;
+
+ protected JMenu savemenu = new JMenu();
+
+ protected JMenu viewMenu = new JMenu();
+
+ protected JMenu chainMenu = new JMenu();
+
+ protected JMenu viewerActionMenu = new JMenu();
+
+ protected JMenuItem alignStructs = new JMenuItem();
+
+ protected JRadioButtonMenuItem seqColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem chainColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem chargeColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem hydroColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem userColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem viewerColour = new JRadioButtonMenuItem();
+
+ protected JMenuItem helpItem = new JMenuItem();
+
+ /**
+ * list of sequenceSet ids associated with the view
+ */
+ protected ArrayList<String> _aps = new ArrayList<String>();
+
+ /**
+ * list of alignment panels to use for superposition
+ */
+ protected Vector<AlignmentPanel> _alignwith = new Vector<AlignmentPanel>();
+
+ /**
+ * list of alignment panels that are used for colouring structures by aligned
+ * sequences
+ */
+ protected Vector<AlignmentPanel> _colourwith = new Vector<AlignmentPanel>();
+
+ private String viewId = null;
+
+ /**
+ * Constructor
+ */
public GStructureViewer()
{
try
private void jbInit() throws Exception
{
+ JMenuBar menuBar = new JMenuBar();
this.setJMenuBar(menuBar);
+
+ JMenu fileMenu = new JMenu();
fileMenu.setText(MessageManager.getString("action.file"));
+
savemenu.setActionCommand(MessageManager.getString("action.save_image"));
savemenu.setText(MessageManager.getString("action.save_as"));
+
+ JMenuItem pdbFile = new JMenuItem();
pdbFile.setText(MessageManager.getString("label.pdb_file"));
pdbFile.addActionListener(new ActionListener()
{
pdbFile_actionPerformed(actionEvent);
}
});
+
+ JMenuItem png = new JMenuItem();
png.setText("PNG");
png.addActionListener(new ActionListener()
{
png_actionPerformed(actionEvent);
}
});
+
+ JMenuItem eps = new JMenuItem();
eps.setText("EPS");
eps.addActionListener(new ActionListener()
{
eps_actionPerformed(actionEvent);
}
});
+
+ JMenuItem viewMapping = new JMenuItem();
viewMapping.setText(MessageManager.getString("label.view_mapping"));
viewMapping.addActionListener(new ActionListener()
{
});
viewMenu.setText(MessageManager.getString("action.view"));
chainMenu.setText(MessageManager.getString("action.show_chain"));
+
+ JMenu colourMenu = new JMenu();
colourMenu.setText(MessageManager.getString("label.colours"));
+
+ JMenuItem backGround = new JMenuItem();
backGround.setText(MessageManager.getString("label.background_colour")
+ "...");
backGround.addActionListener(new ActionListener()
viewerColour_actionPerformed(actionEvent);
}
});
+
+ JMenu helpMenu = new JMenu();
helpMenu.setText(MessageManager.getString("action.help"));
helpItem.setText(MessageManager.getString("label.jmol_help"));
helpItem.addActionListener(new ActionListener()
colourMenu.add(viewerColour);
colourMenu.add(backGround);
+ ButtonGroup colourButtons = new ButtonGroup();
+
colourButtons.add(seqColour);
colourButtons.add(chainColour);
colourButtons.add(chargeColour);
{
}
- JMenuBar menuBar = new JMenuBar();
-
- JMenu fileMenu = new JMenu();
-
- protected JMenu savemenu = new JMenu();
-
- JMenuItem pdbFile = new JMenuItem();
-
- JMenuItem png = new JMenuItem();
-
- JMenuItem eps = new JMenuItem();
-
- JMenuItem viewMapping = new JMenuItem();
-
- protected JMenu viewMenu = new JMenu();
-
- protected JMenu chainMenu = new JMenu();
-
- JMenu jMenu1 = new JMenu();
-
- protected JMenu colourMenu = new JMenu();
-
- protected JMenu viewerActionMenu = new JMenu();
-
- protected JMenuItem alignStructs = new JMenuItem();
-
- JMenuItem backGround = new JMenuItem();
-
- protected JRadioButtonMenuItem seqColour = new JRadioButtonMenuItem();
-
- protected JRadioButtonMenuItem chainColour = new JRadioButtonMenuItem();
-
- protected JRadioButtonMenuItem chargeColour = new JRadioButtonMenuItem();
-
- protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();
-
- protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();
-
- protected JRadioButtonMenuItem hydroColour = new JRadioButtonMenuItem();
-
- protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();
-
- protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();
-
- protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();
-
- protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();
-
- protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem();
-
- protected JRadioButtonMenuItem userColour = new JRadioButtonMenuItem();
-
- protected JRadioButtonMenuItem viewerColour = new JRadioButtonMenuItem();
-
- protected ButtonGroup colourButtons = new ButtonGroup();
-
- JMenu helpMenu = new JMenu();
-
- protected JMenuItem helpItem = new JMenuItem();
-
public void pdbFile_actionPerformed(ActionEvent actionEvent)
{
{
}
+
+ // {
+ // return bindingModel;
+ // }
+
+ // public void setBindingModel(AAStructureBindingModel bindingModel)
+ // {
+ // this.bindingModel = bindingModel;
+ // }
+
+ /**
+ *
+ * @param ap2
+ * @return true if this Jmol instance is linked with the given alignPanel
+ */
+ public boolean isLinkedWith(AlignmentPanel ap2)
+ {
+ return _aps.contains(ap2.av.getSequenceSetId());
+ }
+
+ public boolean isUsedforaligment(AlignmentPanel ap2)
+ {
+
+ return (_alignwith != null) && _alignwith.contains(ap2);
+ }
+
+ public boolean isUsedforcolourby(AlignmentPanel ap2)
+ {
+ return (_colourwith != null) && _colourwith.contains(ap2);
+ }
+
+ /**
+ *
+ * @return TRUE if the view is NOT being coloured by the alignment colours.
+ */
+ public boolean isColouredByViewer()
+ {
+ return !getBinding().isColourBySequence();
+ }
+
+ public String getViewId()
+ {
+ if (viewId == null)
+ {
+ viewId = System.currentTimeMillis() + "." + this.hashCode();
+ }
+ return viewId;
+ }
+
+ protected void setViewId(String viewId)
+ {
+ this.viewId = viewId;
+ }
+
+ public String getStateInfo()
+ {
+ return null;
+ }
}