X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGStructureViewer.java;fp=src%2Fjalview%2Fjbgui%2FGStructureViewer.java;h=4471bbb9c4c84b4efcd5edf8b2c3b22d41ed1430;hb=c66902a9536b10a5477b58aaf7c2d75772890a5d;hp=58b2eb1887f1ac86093698b544998d67bf725604;hpb=e775f1627590b62ccad7cc5104667d347079497b;p=jalview.git diff --git a/src/jalview/jbgui/GStructureViewer.java b/src/jalview/jbgui/GStructureViewer.java index 58b2eb1..4471bbb 100644 --- a/src/jalview/jbgui/GStructureViewer.java +++ b/src/jalview/jbgui/GStructureViewer.java @@ -20,10 +20,14 @@ */ 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; @@ -32,8 +36,70 @@ import javax.swing.JMenuBar; 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 _aps = new ArrayList(); + + /** + * list of alignment panels to use for superposition + */ + protected Vector _alignwith = new Vector(); + + /** + * list of alignment panels that are used for colouring structures by aligned + * sequences + */ + protected Vector _colourwith = new Vector(); + + private String viewId = null; + + /** + * Constructor + */ public GStructureViewer() { try @@ -47,10 +113,16 @@ public class GStructureViewer extends JInternalFrame 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() { @@ -59,6 +131,8 @@ public class GStructureViewer extends JInternalFrame pdbFile_actionPerformed(actionEvent); } }); + + JMenuItem png = new JMenuItem(); png.setText("PNG"); png.addActionListener(new ActionListener() { @@ -67,6 +141,8 @@ public class GStructureViewer extends JInternalFrame png_actionPerformed(actionEvent); } }); + + JMenuItem eps = new JMenuItem(); eps.setText("EPS"); eps.addActionListener(new ActionListener() { @@ -75,6 +151,8 @@ public class GStructureViewer extends JInternalFrame eps_actionPerformed(actionEvent); } }); + + JMenuItem viewMapping = new JMenuItem(); viewMapping.setText(MessageManager.getString("label.view_mapping")); viewMapping.addActionListener(new ActionListener() { @@ -85,7 +163,11 @@ public class GStructureViewer extends JInternalFrame }); 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() @@ -207,6 +289,8 @@ public class GStructureViewer extends JInternalFrame viewerColour_actionPerformed(actionEvent); } }); + + JMenu helpMenu = new JMenu(); helpMenu.setText(MessageManager.getString("action.help")); helpItem.setText(MessageManager.getString("label.jmol_help")); helpItem.addActionListener(new ActionListener() @@ -254,6 +338,8 @@ public class GStructureViewer extends JInternalFrame colourMenu.add(viewerColour); colourMenu.add(backGround); + ButtonGroup colourButtons = new ButtonGroup(); + colourButtons.add(seqColour); colourButtons.add(chainColour); colourButtons.add(chargeColour); @@ -279,66 +365,6 @@ public class GStructureViewer extends JInternalFrame { } - 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) { @@ -428,4 +454,62 @@ public class GStructureViewer extends JInternalFrame { } + + // { + // 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; + } }